私は日食初心者です。私には長期的な目標があります。それは、Javaエディターに独自のアノテーションを追加することです。FindBugsに少し似ています。独自の静的コードアナライザーが必要であり、リソースにマーカー/注釈を追加できるようにします。
だから私はたくさんの優れたドキュメントを読み、たくさんのチュートリアルを引き受けました。最も役に立ったのは、おそらくhttp://www.ibm.com/developerworks/opensource/tutorials/os-ecl-commplgin2/section9.htmlでした。LarsVogelのドキュメントの多くも役に立ちました。構文蛍光ペンを使用してTextEditorを作成できるようになりました。ただし、注釈を追加するための最善のアプローチに苦労しています。
これを行う方法を大まかに理解しています。テキストエディタにはDocumentProviderがあります。DocumentProviderにはAnnotationModelがあります。注釈モデルに注釈を追加することができます。
私の質問は、「このコードをどこに置くか」、具体的にはエディター内のテキストをスキャンして注釈モデルを更新するコードです。これはリスナーへの応答であるべきであることは明らかなようです...しかし、どれですか?
ResourceChangeListenerを試しました。これは、テキストが入力されたときではなく、保存オプションでのみ発生するようです。さらに、リソースからエディターを取得する方法がわかりません。(「The」エディターは、おそらくリソースが複数のエディターで開かれている可能性があるため、おそらく誤った名称です)。IWorkbenchWindow activeWorkbenchWindow = workbench.getActiveWorkbenchWindow()。getActivePage()。getActiveEditor()を介して現在のエディターを見つけることができますが、関連するすべての注釈モデルを更新したいので、これは間違ったアプローチのようです。
ElementStateListenerをテキストエディタに追加してみました。どのイベントも私が望むものではないようです。
私はDamageRepairersを見てきました...これらは私が望むものに近いようですが、長期的にはJavaEditorに結び付けたいので、デフォルトのDamageRepairを変更したくありません。
すべての助けをありがとう