【问题标题】:Eclipse RCP - project selected (Package Explorer)Eclipse RCP - 选择项目(包资源管理器)
【发布时间】:2011-10-26 12:48:13
【问题描述】:

如何检索所选项目的名称和路径? (包资源管理器)

示例:c:\project\test\projectName


有人有一些代码解释了如何完成我在我的工作区中获取特定项目的项目名称或完整路径?

【问题讨论】:

    标签: eclipse rcp


    【解决方案1】:

    Eclipse 定义了一个扩展点 “org.eclipse.ui.navigator.linkHelper”

    如果你为这些 EP 贡献一个类,你必须实现 ILinkHelper

    ILinkHelper 界面会在资源管理器中选择某些内容时通知您

    • public void activateEditor(IWorkbenchPage aPage, IStructuredSelection aSelection)

    您可以检查选择的类型

     if (aSelection.getFirstElement() instanceof IFile) {
        // Do something
     }
    
    【解决方案2】:

    旧记忆,但可能对你有用。我猜包资源管理器提供了它的选择,所以你可以通过调用来获取代码中的当前选择:

    ISelectionService 服务 = getSite().getWorkbenchWindow().getSelectionService()

    您可以通过其 id 获取包资源管理器视图(plugin.xml 了解更多详细信息):

    IStructuredSelection 选择 = (IStructuredSelection) service.getSelection("org.eclipse.jdt.ui.PackageExplorer");

    请注意 AFAIK,您始终可以安全地将 ISelection 转换为 IStructuredSelection。然后调用structured.getFirstElement(),我认为第一个元素将是一个 IFile 对象。我希望我的“伪代码”对你来说已经足够了。并且 IFile 有很多有用的方法为您提供方便

    【讨论】:

    • IWorkbenchPart,但主要概念是尝试获取 selectionprovider 服务
    • 我需要一些我返回 IProject 的东西。示例:myIproject.getName();
    • getFirstElement() 将返回一个 IProject,如果它是被选中的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    相关资源
    最近更新 更多