如何在IWorkbenchPage

时间:2017-06-23 12:05:37

标签: java eclipse

我正在运行一个应用程序作为 Eclipse 应用程序,其中某些操作正在对文件执行,相应地其他文件已被修改

我收到的文件

    Display.getDefault().syncExec(new Runnable() {  
        @Override
        public void run() {
            IWorkbench workbench = PlatformUI.getWorkbench();
            IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
            IWorkbenchPage activePage = workbenchWindow.getActivePage();
            IEditorPart editor = activePage.getActiveEditor();
            IEditorInput input = editor.getEditorInput();
            IPath path = ((FileEditorInput)input).getPath();
}
}});

我正在基于某些输入对不同文件执行某些操作,我想在运行eclipse应用程序时将其设置为活动页面。

我无法弄清楚如何设置该活动页面。

我经历过问题,但没有找到确切的问题。

1 个答案:

答案 0 :(得分:1)

工作台窗口中只有一个页面。编辑都在同一页上。

对于工作区中的文件,您使用IFile来引用该文件。

有很多方法可以获得IFile,例如,如果您有相对于工作区根目录使用的路径:

IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IFile file = root.getFile(new Path("path relative to workspace root"));

如果您有绝对路径File,则可以使用:

IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
URI location = file.toURI();
IFile[] files = root.findFilesForLocationURI(location);

获得IFile后,您可以使用以下命令打开文件的默认编辑器:

IDE.openEditor(activePage, file);

或者您可以使用以下命令指定特定的编辑器ID:

IDE.openEditor(activePage, file, "the editor id");

IDEorg.eclipse.ui.ide.IDE