如何在 RCP 中隐藏默认菜单



我是Eclipse RCP插件开发的新手。

我用自己的视角编写了一个插件,并在其中添加了特定于透视的菜单。

我的问题是如何隐藏 Eclipse 中提供的默认菜单,如编辑、导航、搜索、项目?

我尝试使用"<扩展点>"并把我的观点具体条件,在菜单贡献中。

任何帮助,不胜感激。

此致敬意

曼达尔·帕塔克。

你需要活动。我当前项目的示例:

<extension
     point="org.eclipse.ui.activities">
  <activity
        id="arm.activity.disabled"
        name="%arm.activity.disabled.name">
     <enabledWhen>
        <with
              variable="selection">
           <count
                 value="-1">
           </count>
        </with>
     </enabledWhen>
  </activity>
  <activityPatternBinding
        activityId="arm.activity.disabled"
        pattern="org.eclipse.m2e..*">
  </activityPatternBinding>
  <activityPatternBinding
        activityId="arm.activity.disabled"
        pattern="org.eclipse.search..*">
  </activityPatternBinding>
  <activityPatternBinding
        activityId="arm.activity.disabled"
        pattern="org.eclipse.team..*">
  </activityPatternBinding>
  <activityPatternBinding
        activityId="arm.activity.disabled"
        pattern="org.eclipse.compare.*">
  </activityPatternBinding>
  <activityPatternBinding
        activityId="arm.activity.disabled"
        pattern="org.eclipse.help.ui.PrefPageHelp.*">
  </activityPatternBinding>
  <activityPatternBinding
        activityId="arm.activity.disabled"
        isEqualityPattern="true"
        pattern="org.eclipse.ui.ide/org.eclipse.ui.preferencePages.Workspace">
  </activityPatternBinding>
  <activityPatternBinding
        activityId="arm.activity.disabled"
        isEqualityPattern="true"
        pattern="org.eclipse.ui.ide/org.eclipse.ui.preferencePages.Perspectives">
  </activityPatternBinding>
</extension>

一种方法是在您的 rcp 应用程序中,您有一个扩展 ActionBarAdvisor 的类,在该类的构造函数中,您可以执行类似操作,例如删除编辑菜单

configurer.getMenuManager().remove(IWorkbenchActionConstants.M_EDIT);

所有常见的 eclipse 菜单(如 edit)都将在上面的类中定义一个常量,请为要从应用程序中删除的菜单执行此操作。

这只是一种方法,我相信可能还有其他方法,但希望这能满足您的需求。

最新更新