我正在编写一个Eclipse命令插件,并希望在package explorer视图中检索当前选定的节点。我希望能够从返回的结果中获得所选节点在文件系统(即c:\eclipse\test.html)上的绝对文件路径。
我该怎么做呢?
发布于 2009-02-25 13:34:34
第一步是获取一个选择服务,例如从任何视图或编辑器中获取,如下所示:
ISelectionService service = getSite().getWorkbenchWindow()
.getSelectionService();
或者,如果您既不在视图中,也不在编辑器中,那么您可以通过PlatformUI获得它。
然后,获取Package Explorer的选择并将其转换为IStructuredSelection:
IStructuredSelection structured = (IStructuredSelection) service
.getSelection("org.eclipse.jdt.ui.PackageExplorer");
在此基础上,您可以获得选定的IFile:
IFile file = (IFile) structured.getFirstElement();
现在,要获取完整路径,您必须获取IFile的位置:
IPath path = file.getLocation();
然后,您最终可以使用它来获取文件的真正完整路径(以及其他内容):
System.out.println(path.toPortableString());
你可以在这里找到更多关于选择服务的信息:Using the Selection Service。
https://stackoverflow.com/questions/585802
复制相似问题