2012-01-09 3 views
2

私は現在、特定のプロパティを持つファイルを開いたときに、アクションを実行する必要があるEclipseプラグインに取り組んでいます。しかし、私はリスナーを設定する方法についてはわかりません、私はIWorkspaceIResource APIを探していますが、 "AddListenerToOnOpenFile"という単純なAPI呼び出しを見つけることができません。Eclipseの開いているファイルのリスナー

ファイルがパッケージエクスプローラビューで開かれることが予想されます。

+3

[?新しいエディタは、Eclipseで開かれるたびに、私は通知を受けるにはどうすればよい](http://stackoverflow.com:必要がある場合

また、あなたも新しく開いたウィンドウのために聞くことができます/ q/542338/150166)。 –

答えて

3

@MarttiKäärikが提供する答えを使用して、編集者がいつ開いているか調べます。次に、IEditorInputを使用して、自分が気にかけているIResourceかどうかを調べることができます。

if (part instanceof IEditorPart) { 
    IEditorPart editor = (IEditorPart) part; 
    IResource resource = editor.getEditorInput().getAdapter(IResource.class); 
    // ... 
} 
2

すでにanswered、これだけではもう少し完全なものへの質問...

あなたは必ずしも取得する(コメントにthe question linked to by Martti Käärikで説明したように)、ビューまたはアクションを実装する必要はありませんあなたのリスナーのためのウィンドウ。 PlatformUI.getWorkbench().get...()へのコールも同様に使用できます。ちょうどEclipse Pluginと呼ばれる古い、恐らく重複した質問を見てください。

BTW Eclipse Wiki FAQ pageには、現在のワークベンチウィンドウの取得方法と可能な「gotchas」の説明が含まれています。

PlatformUI.getWorkbench().addWindowListener(listener); 
関連する問題