私は現在、特定のプロパティを持つファイルを開いたときに、アクションを実行する必要があるEclipseプラグインに取り組んでいます。しかし、私はリスナーを設定する方法についてはわかりません、私はIWorkspace
とIResource
APIを探していますが、 "AddListenerToOnOpenFile"という単純なAPI呼び出しを見つけることができません。Eclipseの開いているファイルのリスナー
ファイルがパッケージエクスプローラビューで開かれることが予想されます。
私は現在、特定のプロパティを持つファイルを開いたときに、アクションを実行する必要があるEclipseプラグインに取り組んでいます。しかし、私はリスナーを設定する方法についてはわかりません、私はIWorkspace
とIResource
APIを探していますが、 "AddListenerToOnOpenFile"という単純なAPI呼び出しを見つけることができません。Eclipseの開いているファイルのリスナー
ファイルがパッケージエクスプローラビューで開かれることが予想されます。
@MarttiKäärikが提供する答えを使用して、編集者がいつ開いているか調べます。次に、IEditorInputを使用して、自分が気にかけているIResourceかどうかを調べることができます。
if (part instanceof IEditorPart) {
IEditorPart editor = (IEditorPart) part;
IResource resource = editor.getEditorInput().getAdapter(IResource.class);
// ...
}
すでにanswered、これだけではもう少し完全なものへの質問...
あなたは必ずしも取得する(コメントにthe question linked to by Martti Käärikで説明したように)、ビューまたはアクションを実装する必要はありませんあなたのリスナーのためのウィンドウ。 PlatformUI.getWorkbench().get...()
へのコールも同様に使用できます。ちょうどEclipse Pluginと呼ばれる古い、恐らく重複した質問を見てください。
BTW Eclipse Wiki FAQ pageには、現在のワークベンチウィンドウの取得方法と可能な「gotchas」の説明が含まれています。
PlatformUI.getWorkbench().addWindowListener(listener);
[?新しいエディタは、Eclipseで開かれるたびに、私は通知を受けるにはどうすればよい](http://stackoverflow.com:必要がある場合
また、あなたも新しく開いたウィンドウのために聞くことができます/ q/542338/150166)。 –