5

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

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

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

4

3 に答える 3

10

以下を使用して、開いているすべてのエディターへの参照を取得できます。

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

次に、これらをチェックして、エディター タイプのインスタンスを参照するものを選択します。

于 2009-02-05T16:51:12.063 に答える
8

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);
        }
    }
}
于 2011-04-28T16:12:07.890 に答える