【问题标题】:popup:org.eclipse.jdt.ui.PackageExplorer not visible弹出:org.eclipse.jdt.ui.PackageExplorer 不可见
【发布时间】:2014-05-17 21:31:15
【问题描述】:

我已经关注了我在几个论坛上找到的所有可能的解决方案(也是这个:Eclipse plugin menu item is not visible)。但是,他们都没有解决我的问题。我也遵循了本教程http://www.vogella.com/tutorials/EclipsePlugIn/article.html。无论如何,标签没有显示在菜单中。这是我的 plugin.xml:

<extension
     point="org.eclipse.ui.commands">
  <command
        defaultHandler="pr.handlers.SampleHandler3"
        id="pr.commands.rightclick"
        name="Analyze">
  </command>
.....

 <menuContribution
        locationURI="popup:org.eclipse.jdt.ui.PackageExplorer">
     <command
           commandId="pr.commands.rightclick"
           label="Analyze"
           style="push">

           <visibleWhen>
  <with variable="activeMenuSelection">
     <iterate
            ifEmpty="false">
        <adapt type="org.eclipse.core.resources.IFile">
           <test property="org.eclipse.core.resources.name" value="*java" />
        </adapt>
     </iterate>
  </with>
   </visibleWhen>
         </command>
      </menuContribution>

【问题讨论】:

  • 为我工作。您确定您正在查看 Package Explorer 视图(例如,不是 Project Explorer)吗?
  • 是的,会是什么?无论如何,该命令存在,因为如果我在“快速访问”中搜索它,它就在命令列表中。
  • 我在测试中找出了不同之处。见答案。

标签: eclipse eclipse-plugin


【解决方案1】:

似乎对于包资源管理器的包部分中的 Java 文件,没有为 org.eclipse.core.resources.IFile 定义适配器,但是有一个用于 org.eclipse.core.resources.IResource 的适配器,因此将您的 adapt 更改为应该可以工作。

由于匹配 IResource 也会匹配文件夹,因此您的 test 最好检查内容类型 ID:

   <adapt type="org.eclipse.core.resources.IResource">
      <test property="org.eclipse.core.resources.contentTypeId" value="org.eclipse.jdt.core.javaSource" />
   </adapt>

【讨论】:

    猜你喜欢
    • 2011-12-20
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多