有谁能告诉我如何从编辑器中获取文件名?
我刚创建了自己的编辑器来打开xml文件并创建 几节显示数据。现在我想读 XML文件并将其放在部分内。
我想我现在如何阅读xml数据,但我不知道 如何访问文件名以便它可以打开。
由于
答案 0 :(得分:7)
可能this approach可能对您有用
将编辑器输入转换为
IFileEditorInput
并使用IFile
致电getLocation()
或getLocationURI()
。
如上所述here,基本上是
((IFileEditorInput)editorInput).getFile().getLocation()
就足够了。
另见this code:
public static String getCurrentFileRealPath(){
IWorkbenchWindow win = PlatformUI.getWorkbench
().getActiveWorkbenchWindow();
IWorkbenchPage page = win.getActivePage();
if (page != null) {
IEditorPart editor = page.getActiveEditor();
if (editor != null) {
IEditorInput input = editor.getEditorInput();
if (input instanceof IFileEditorInput) {
return ((IFileEditorInput)input).getFile
().getLocation().toOSString();
}
}
}
return null;
}
答案 1 :(得分:7)
我意识到这已经过时了,但是由于我在寻找完全相同问题的解决方案时偶然发现它,我想在VonC的答案中添加一个注释:
IFileEditorInput
隐藏在 org.eclipse.ui.ide 插件中,因此为了使解决方案正常工作,您的插件需要将其视为依赖项。