Eclipse 如何在RCP中隐藏默认菜单?

Eclipse 如何在RCP中隐藏默认菜单?,eclipse,eclipse-plugin,rcp,Eclipse,Eclipse Plugin,Rcp,我是Eclipse RCP插件开发的新手 我用自己的透视图编写了一个插件,并在其中添加了特定于透视图的菜单 我的问题是如何隐藏Eclipse中提供的默认菜单,如编辑、导航、搜索和项目 我尝试使用“” 并把我的视图的具体条件,与菜单的贡献 感谢您的帮助 致以最良好的祝愿 曼德尔·法塔克 一种方法是,在rcp应用程序中,您有一个扩展ActionBarAdvisor的类,在该类的构造函数中,您可以执行类似的操作,例如删除编辑菜单 configurer.getMenuManager().remove(I

我是Eclipse RCP插件开发的新手

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

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

我尝试使用“” 并把我的视图的具体条件,与菜单的贡献

感谢您的帮助

致以最良好的祝愿


曼德尔·法塔克

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

configurer.getMenuManager().remove(IWorkbenchActionConstants.M_EDIT);
所有常见的eclipse菜单(如edit)都将在上面的类中定义一个常量,为要从应用程序中删除的菜单执行该操作

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

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

<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>


感谢您的友好回复。但对于菜单,我使用了plug-in.xml。那么有没有其他方法可以隐藏菜单(最好使用plug-in.xml)。我尝试了上面的代码,但我的应用程序类正在实现IAApplication,所以不知道ActionBarAdvisor将如何被调用,将创建一个新的插件项目,选择它将做出UI贡献的选项,然后选择创建rcp应用程序,然后选择一个模板,您将看到rcp应用程序的基本结构。我可能错了,但如果你有一个IApplication,你必须有一个扩展ActionBarAdvisor的类。创建rcp示例应用程序是一个很好的起点,然后尝试使用我在上面输入的代码,看看是否可以不显示编辑菜单。Hello@Alexey,它对我部分有效,但仍然无法隐藏所有菜单。例如,我无法隐藏搜索->远程,但可以隐藏所有其他。同样对于某些菜单,插件spy没有显示“活动操作定义标识符”,而是显示一些类名。在这种情况下,我们能找到命令名吗?是的,找到正确的ID有时是个问题。您可以在启动应用程序时设置跟踪选项(请参阅),但我不记得是否有跟踪打开菜单的选项。project explorer中“重命名”上下文菜单的模式是什么?当我们右键点击一个项目,菜单出现时,我想从中禁用重命名菜单list@wearybands我不知道,你可能想单独问这个问题。