質問

私は、ユーザーがこれらのリソースのいずれかの上のエディタを開くために、データベースリソースのTableViewerを使用することができ、簡単なEclipseプラグインを構築しています。

したがって、ユーザーは、エディタの実行中のゼロ上向きにインスタンスを持つことがあります。

これらのエディタインスタンスのリストを取得するために利用できるAPIはありますか。

役に立ちましたか?

解決

あなたはで開いているすべてのエディターへの参照を取得することができます

PlatformUI.getWorkbench().getActiveWorkbenchWindow()
    .getActivePage().getEditorReferences();

そして、あなたのエディタ型のインスタンスを参照するものを選択するために、これらをチェックします。

他のヒント

APIのJavadocによると、ワークベンチは、複数のウィンドウを持つことができ、ウィンドウはいくつかのページを持つことができ、そして、彼らは編集者を共有することはありません。

だから、すべての、すべての開いているエディタを得るために、あなたはこれらの線に沿って何かを行う必要があります(エラーチェックなどを除く):

List<IEditorReference> editors = new ArrayList<IEditorReference>();
for (IWorkbenchWindow window : PlatformUI.getWorkbench().getWorkbenchWindows()) {
    for (IWorkbenchPage page : window.getPages()) {
        for (IEditorReference editor : page.getEditorReferences()) {
            editors.add(editor);
        }
    }
}
scroll top