Eclipse RCP:新建编辑器向导

Eclipse RCP: New Editor Wizard

我对 Eclipse RCP 有一点经验 - 3.X 我通过 org.eclipse.ui.editors 扩展点创建了我自己的编辑器,为了拥有该编辑器的多个实例,我实现了一个新的编辑器向导如下所示;

IFile file = page1.createNewFile();

IWorkbenchWindow window = _workbench.getActiveWorkbenchWindow();
IWorkbenchPage page = window.getActivePage();
try {
    IDE.openEditor(page, file, SimpleEditor.ID, true);
} catch (PartInitException e) {
    e.printStackTrace();
}

我的问题是,我找到的唯一方法是创建一个新文件并将该文件与您唯一的编辑器 ID 相关联。我想要的是,我想将一些由用户定义的初始值解析为向导中的编辑器。但是在这个过程中我们真的没有实例化EditorPartclass

我怎样才能做到这一点?

IDE.openEditor 调用 returns 打开的 IEditorPart - 这将是您的编辑器的一个实例 class 因此您可以:

IEditorPart part = IDE.openEditor(page, file, SimpleEditor.ID, true);
if (part instanceof SimpleEditor) {
   SimpleEditor editor = (SimpleEditor)part;

   // TODO call methods you define in the editor to set the parameters
}

或者您可以使用自定义 IEditorInput 并调用 IDE

openEditor(IWorkbenchPage page,
           IEditorInput input, String editorId)

方法。编辑器的init方法被赋予了你指定的IEditorInput