命令使用visibleWhen不出现在上下文菜单中

时间:2015-07-10 04:09:18

标签: eclipse-plugin

我想在选择Java Source Files时添加上下文菜单命令,但上下文菜单不会出现。
我从Java Source Files获得CompilationUnit的班级类型eclipse plugin-in spy

这是插件扩展声明( plugin.xml ):

<extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:org.eclipse.ui.popup.any?after=additions">
         <command
               commandId="xml2javacode.commands.sampleCommand"
               id="xml2javacode.menus.sampleCommand"
               mnemonic="S">
            <visibleWhen>
               <with
                     variable="activeMenuSelection">
                  <iterate>
                     <instanceof
                           value="org.eclipse.jdt.core.dom.CompilationUnit">
                     </instanceof>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>

1 个答案:

答案 0 :(得分:0)

有几个名为CompilationUnit的类,你选择了错误的类。

 <instanceof
     value="org.eclipse.jdt.internal.core.CompilationUnit">
 </instanceof>

有效 - 这是一个内部类,所以你不应该引用它。

检查Java源文件的常用方法是:

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

将选择调整为IResource,然后检查内容类型ID。