如何仅为Eclipse中的特定部分启用菜单?

时间:2015-09-22 10:05:38

标签: java eclipse eclipse-plugin

我在Team菜单中创建了一个新的子菜单,作为org.eclipse.ui.menus的扩展。问题是这个子菜单也出现在扩展org.eclipse.ui.menus的其他插件中。

这些扩展程序的ID都不同,但仍显示菜单。

如何让菜单仅针对某些部分显示?

编辑:菜单定义:

 <plugin>
<extension point="org.eclipse.ui.commands">
  <command
        defaultHandler="DefaultHandler"
        id="menuItem.command"
        name="Menu Item"/> 
  </extension>
 <extension point="org.eclipse.ui.menus">
 <menuContribution allPopups="true" locationURI="popup:team.main?after=group3">
  <command
        commandId="menuItem.command"
        icon="icons/icon.png"
        id="menuItem.menu"
        style="push"/> 
  </menuContribution>
  </extension> 
    </plugin>

编辑:插件的菜单定义,其中也出现上述定义

 <extension
     point="org.eclipse.ui.menus">
  <menuContribution
        allPopups="true"
        locationURI="popup:com.comp.view1">
     <menu
           label="Open menu 1">
        <dynamic
              class="com.comp.views.OpenMenu1"
              id="com.comp.view">
        </dynamic>
     </menu>
     <menu
           label="Open menu 2">
        <dynamic
              class="com.comp.views.OpenMenu2"
              id="com.comp.view">
        </dynamic>
     </menu>
  </menuContribution>

1 个答案:

答案 0 :(得分:0)

请勿在{{1​​}}上指定allPopups="true"。要么完全不使用它,要么使用默认值menuContribution