我是 Eclipse RCP 插件开发的新手。
我用自己的视角编写了一个插件,并在其中添加了特定于视角的菜单。
我的问题是如何隐藏 Eclipse 中提供的默认菜单,例如 Edit、Navigated、Search、Project ?
我尝试使用'< extension point="org.eclipse.core.expressions.definitions" >'并将我的视图特定条件放在菜单贡献中。
任何帮助表示赞赏。
最好的祝福,
曼达尔·帕塔克。
我是 Eclipse RCP 插件开发的新手。
我用自己的视角编写了一个插件,并在其中添加了特定于视角的菜单。
我的问题是如何隐藏 Eclipse 中提供的默认菜单,例如 Edit、Navigated、Search、Project ?
我尝试使用'< extension point="org.eclipse.core.expressions.definitions" >'并将我的视图特定条件放在菜单贡献中。
任何帮助表示赞赏。
最好的祝福,
曼达尔·帕塔克。
你需要活动。我当前项目的示例:
<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 菜单(如编辑)都将在上面的类中定义一个常量,对要从应用程序中删除的菜单执行此操作。
这只是一种方法,我相信可能还有其他方法,但希望这能满足您的需求。