首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从Eclipse插件中获取包资源管理器中选定的节点

如何从Eclipse插件中获取包资源管理器中选定的节点
EN

Stack Overflow用户
提问于 2009-02-25 12:32:48
回答 1查看 11.1K关注 0票数 18

我正在编写一个Eclipse命令插件,并希望在package explorer视图中检索当前选定的节点。我希望能够从返回的结果中获得所选节点在文件系统(即c:\eclipse\test.html)上的绝对文件路径。

我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2009-02-25 13:34:34

第一步是获取一个选择服务,例如从任何视图或编辑器中获取,如下所示:

代码语言:javascript
复制
ISelectionService service = getSite().getWorkbenchWindow()
            .getSelectionService();

或者,如果您既不在视图中,也不在编辑器中,那么您可以通过PlatformUI获得它。

然后,获取Package Explorer的选择并将其转换为IStructuredSelection:

代码语言:javascript
复制
IStructuredSelection structured = (IStructuredSelection) service
            .getSelection("org.eclipse.jdt.ui.PackageExplorer");

在此基础上,您可以获得选定的IFile:

代码语言:javascript
复制
IFile file = (IFile) structured.getFirstElement();

现在,要获取完整路径,您必须获取IFile的位置:

代码语言:javascript
复制
IPath path = file.getLocation();

然后,您最终可以使用它来获取文件的真正完整路径(以及其他内容):

代码语言:javascript
复制
System.out.println(path.toPortableString());

你可以在这里找到更多关于选择服务的信息:Using the Selection Service

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/585802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档