如何从Eclipse IDE获取当前活动选项卡的文件名?

5

我想要获取Eclipse-IDE编辑器中当前打开选项卡的文件名。基本上,我正在使用Java开发插件,并希望通过程序提取当前打开文件的名称。

1个回答

9
可能有更短的方法,但是这段代码应该可以实现:

IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
String name = activePage.getActiveEditor().getEditorInput().getName();

当然,确保检查可能的空值等问题。
编辑:在UI线程中运行此操作。例如:
      final String[] name = new String[1];
        UIJob job = new UIJob("Get active editor") //$NON-NLS-1$
        {
            public IStatus runInUIThread(IProgressMonitor monitor)
            {
                try
                {
                    IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
                    name[0] = activePage.getActiveEditor().getEditorInput().getName();
                }
                catch (Exception e)
                {
                    // return some other status
                }

                return Status.OK_STATUS;
            }
        };
        job.schedule();
        job.join();
        System.out.println(name[0]);

我已经尝试了上面的代码。它在上面的代码的第一行显示空指针异常。我不确定为什么会出现这样的错误。 - user844066
尝试从UI线程运行它。使用UIJob的实例并安排它。 - sgibly
非常感谢大家的帮助。第一段代码就可以工作了。我试图在我的插件之外访问工作台,所以才会出现这样的错误。 - user844066

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接