eclipse插件开发中如何获取当前的工程名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eclipse插件开发中如何获取当前的工程名称相关的知识,希望对你有一定的参考价值。

参考技术A javascript Document
function show(str)

var str1="td"+str;
var str="show"+str;
for (var i=1; i<18; i++)

var obj = document.getElementById('show' + i.toString());
if (obj) obj.style.display = 'none';

document.getElementById(str).style.display="block";

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

【中文标题】如何从 Eclipse 插件中获取包资源管理器中的选定节点【英文标题】:How to get the selected node in the package explorer from an Eclipse plugin 【发布时间】:2010-10-09 19:19:58 【问题描述】:

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

我该怎么做?

【问题讨论】:

【参考方案1】:

第一步是获得选择服务,例如从像这样的任何视图或编辑器:

ISelectionService service = getSite().getWorkbenchWindow()
            .getSelectionService();

或者,as VonC wrote,如果您不在视图或编辑器中,您可以通过 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。

【讨论】:

"查看了 9 次"...没有人看这些问题 ;) 无论如何,非常详细的答案。 +1 从包资源管理器中获取选择时,如果 IFile 元素不是实例。你需要进行JDT->资源转换。 @kberg 演员阵容确实引发了异常。但是你是什么意思执行JDT->资源转换 “org.eclipse.jdt.ui.PackageExplorer”在哪里定义为常量?不喜欢魔线。【参考方案2】:

代码如下:

IWorkbenchWindow window =
    PlatformUI.getWorkbench().getActiveWorkbenchWindow();
ISelection selection = window.getSelectionService().getSelection("org.eclipse.jdt.ui.PackageExplorer");

您在类似 LuaFileWizardAction class 的 Action 中查看示例。

【讨论】:

您与 LuaFileWizardAction 类的链接似乎已损坏。它重定向到blackducksoftware.com

以上是关于eclipse插件开发中如何获取当前的工程名称的主要内容,如果未能解决你的问题,请参考以下文章

如何使用eclipse新建android app并测试运行结果

如何修改eclipse下tomcat的工程所生成的项目文件的名称

Eclipse 插件开发,怎么调用popupMenus扩展点的右键菜单

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

什么是eclipse插件工程?

Eclipse插件开发MavenArchetype