枚举我所有的Eclipse编辑器?

Mar*_*wie 5 eclipse eclipse-pde jface eclipse-rcp

我构建了一个简单的Eclipse插件,用户可以使用TableViewer数据库资源在任何这些资源上打开编辑器.

因此,用户可能没有正常运行的编辑器实例.

是否有可用于获取这些编辑器实例列表的API?

Fab*_*eeg 10

您可以通过以下方式获取所有开放编辑器的参考:

PlatformUI.getWorkbench().getActiveWorkbenchWindow()
    .getActivePage().getEditorReferences();
Run Code Online (Sandbox Code Playgroud)

然后检查这些以选择引用编辑器类型实例的那些.


Erk*_*Erk 7

据的Javadoc的API工作台可以有多个窗口,一个窗口可以有几页,而它们不共享编辑器.

因此,为了获得所有开放式编辑器,您应该按照以下方式执行某些操作(排除错误检查等):

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)