Java 从Eclipse插件中,如何以编程方式使Eclipse编辑某个文件?

Java 从Eclipse插件中,如何以编程方式使Eclipse编辑某个文件?,java,eclipse-plugin,editor,Java,Eclipse Plugin,Editor,我有一个插件,可以创建一个新的视图。在我看来,我显示了关于项目中某些Java类的某些信息。我想允许用户在我的视图中双击一个类,当他/她双击时,我想在编辑器中打开该类进行编辑。基本上与Hierarchy视图类似:它显示类树,当用户双击其中一个类时,它进入编辑器。如果我拥有的是类型为ittype的对象,我该怎么做?我将为您的需求展示一个高级实现。您必须执行以下步骤 首先,您必须在Plugin.xml中为扩展的类创建条目 viewPart和editorPart分别用于视图和编辑器 对于hierarc

我有一个插件,可以创建一个新的视图。在我看来,我显示了关于项目中某些Java类的某些信息。我想允许用户在我的视图中双击一个类,当他/她双击时,我想在编辑器中打开该类进行编辑。基本上与Hierarchy视图类似:它显示类树,当用户双击其中一个类时,它进入编辑器。如果我拥有的是类型为
ittype
的对象,我该怎么做?

我将为您的需求展示一个高级实现。您必须执行以下步骤

  • 首先,您必须在
    Plugin.xml
    中为扩展的类创建条目
    viewPart
    editorPart
    分别用于视图和编辑器
  • 对于hierarchy视图,您必须使用中的树结构加载信息
    ViewPart
  • 在节点的双击侦听器上,必须打开编辑器
要在编辑器中打开文件,请使用以下代码打开编辑器

 if (fileToOpen.exists() && fileToOpen.isFile()) {
     String path = //Path for that to file to open;
     IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
     URI fromString = org.eclipse.core.runtime.URIUtil.fromString("file://" + path);
     try {
         IEditorPart openEditor = IDE.openEditor(page, fromString, Editor.ID, true);
         IEditorInput editorInput = openEditor.getEditorInput();
         //editorInput.
     } catch ( PartInitException e ) {
         //Put your exception handler here if you wish to.
     }
 }

昨天,Editor.ID未解决,我找不到解决它所需的内容。为了解析编辑器,我需要添加哪个必需的插件、导入的包或扩展?编辑器id是您在plugin.xml中注册类的id,这应该是唯一的,以识别您想要打开RTA的编辑器实例,谢谢,但我想在主eclipse文本编辑器中打开一个java文件。那个编辑的身份证是什么?是否有一个地方可以检查并找出所有eclipse编辑器的ID?只需在编辑器类中定义一个唯一的ID并传递它。例如,您已经定义了publicstaticfinalstringid=“javaEditor”;在A级和参考资料中,我希望它现在能起作用。