Java 是否可以将编程环境中的外部文件/类加载到位于工作空间之外的eclipse编辑器中?

Java 是否可以将编程环境中的外部文件/类加载到位于工作空间之外的eclipse编辑器中?,java,eclipse,plugins,Java,Eclipse,Plugins,我试图将一个外部类加载到Eclipse编辑器中,该编辑器不位于本地工作区内我应该澄清,我正试图在我正在创建的Eclipse插件中实现这一点。 这需要如何为我工作: 我在已创建的视图上有一个双击事件 双击后,我从SQL中得到一个数据库字段,返回一个绝对路径。(例如C:\objects\sourceCode\class.java) 一旦从数据库接收到绝对路径,我需要打开Eclipse编辑器实例中的文件 注意:我试图读取我试图打开的类的所有行,并在Eclipse工作区目录中创建一个临时文件并打开它。然

我试图将一个外部类加载到Eclipse编辑器中,该编辑器不位于本地工作区内我应该澄清,我正试图在我正在创建的Eclipse插件中实现这一点。

这需要如何为我工作:

  • 我在已创建的视图上有一个双击事件

  • 双击后,我从SQL中得到一个数据库字段,返回一个绝对路径。(例如
    C:\objects\sourceCode\class.java

  • 一旦从数据库接收到绝对路径,我需要打开Eclipse编辑器实例中的文件

  • 注意:我试图读取我试图打开的类的所有行,并在Eclipse工作区目录中创建一个临时文件并打开它。然而,我似乎无法让它工作


    因此我的问题是:


    有人知道这是否可能吗?如果是的话,你能给我指一篇关于做类似事情的文章,或者提供一个可能帮助我努力的例子的位置吗

    首先请注意,并非所有Eclipse编辑器都支持外部文件(例如类文件编辑器)

    如果编辑器确实支持外部文件,则通过支持
    IURIEditorInput
    作为编辑器输入来实现

    FileStoreEditorInput
    iurieeditorinput
    的标准实现,使用方法如下:

    File文件=。。。。要打开的文件
    IFileStore fileStore=EFS.getStore(file.getURI());
    IEditorInput editorInput=新文件存储editorInput(文件存储);
    IWorkbenchPage=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    page.openEditor(editorInput,“要打开的编辑器的id”);
    
    作为编辑器输入和
    page.openEditor
    的替代方法,您可以使用
    IDE.openinternaleditoronflestore
    方法,该方法将尝试计算出要打开的编辑器的id:

    IDE.openinternaleditoronflestore(页面,文件存储);
    
    IDE
    org.eclipse.ui.IDE.IDE
    插件中的
    org.eclipse.ui.IDE
    EFS
    org.eclipse.core.filesystem
    插件中的
    org.eclipse.core.filesystem.EFS