我想编写一个对选定项目执行Action的Eclipse插件。我在子菜单中使用了插件模板。我的plugin.xml看起来像这样:

<extension
      point="org.eclipse.ui.popupMenus">
   <objectContribution
         objectClass="org.eclipse.core.internal.resources.Project"
         id="testplugin2.contribution1">
      <menu
            label="Propertie Manager"
            path="additions"
            id="testplugin2.menu1">
         <separator
               name="group1">
         </separator>
      </menu>
      <action
            label="list all *.properties"
            class="testplugin2.popup.actions.ListPropertiesAction"
            menubarPath="testplugin2.menu1/group1"
            enablesFor="1"
            id="testplugin2.projectAction">
      </action>
   </objectContribution>
</extension>


这对除javaProjects之外的所有东西都适用。事实证明javaProjects不是Projects。我希望在选择javaProjects或普通Projects时显示此操作,而不是在选择其他内容时不显示。

如果选择了javaProject或Project,如何使子菜单完全显示?

最佳答案

我没有测试它,但是也许可以用:

<objectcontribution ...>
    <visibility>
        <objectClass
            name="org.eclipse.jdt.core.IJavaProject" />
    </visibility>
</objectContribution>


您也可以尝试“启用”而不是“可见性”。

eclipse help pages on popup menus

10-07 13:04