我对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相关联。我想要的是,我想从向导解析一些初始值 - 由用户定义到编辑器。但是我们真的没有在这个过程中实例化EditorPart类。
我怎样才能做到这一点?
答案 0 :(得分:0)
IDE.openEditor
调用返回已打开的IEditorPart
- 这将是您的编辑器类的一个实例,因此您可以这样做:
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
。