I have recently developed the "Protocol Buffer Linter Plugin".
It works well but sometimes not because ExternalAnnotator seems to be triggered stably.
The reproducible steps are below.
1. Change the code so that the plugin shows a warning.
2. Fix the code.
3. You expect that the plugin clears a warning. But under the hood, ExternalAnnotator is often not triggered.
4. After saving some changes a couple of times, ExternalAnnotator starts running.