基于编辑器ID的开放式Eclipse编辑器

时间:2019-02-18 07:16:44

标签: java eclipse-rcp

有什么办法可以获取所有可用的编辑器,而不仅仅是窗口中当前打开的编辑器。

请帮助

1 个答案:

答案 0 :(得分:0)

编辑器注册表中有许多API,它们会告诉您可用的编辑器。

通过以下方式获取注册表:

IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry();

您可以通过以下方式找到可用于文件的所有编辑器:

IEditorDescriptor[] editors = registry.getEditors("filename.ext");

或者您可以找到具有给定ID的编辑器:

IEditorDescriptor editor = registry.findEditor("editor id");

没有什么可以列出注册表已知的每个编辑器。

org.eclipse.ui.ide.IDE类还具有许多获取编辑器描述符和打开编辑器的方法。

要使用特定的编辑器打开文件,请使用:

IDE.openEditor(page, file, "editor id");

其中pageIWorkbenchPage,而file是要打开的IFile。这等效于:

page.openEditor(new FileEditorInput(file), "editor id");