4

私は日食初心者です。私には長期的な目標があります。それは、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を変更したくありません。

すべての助けをありがとう

4

1 に答える 1

0

次のリソースに言及することで、この質問に答えることができることがわかりました:www.ibm.com/developerworks/opensource/tutorials/os-eclipse-plugin-guide/index.html

質問の作者もここで言及しています:

リソースに注釈を追加すると、注釈が自動的にエディターに追加されます。

したがって、プラグインが起動したら、アクティブなリソースを実行し、必要に応じてそれらに注釈を追加してから、リソースが開かれるときにそれらを追加するリソース変更リスナーを追加します。

于 2013-04-22T10:05:56.670 に答える