我为Eclipse插件创建了一个菜单贡献。
我希望菜单只在插件视角处于活动状态时可见。
答案 0 :(得分:4)
以下是我在开源项目中发现的内容,它对我有用:
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu?after=additions">
<menu
id="menu1"
label="Menu 1">
<visibleWhen checkEnabled="false">
<with variable="activeWorkbenchWindow.activePerspective">
<equals value="myperspective"/>
</with>
</visibleWhen>
<dynamic class="MenuPopulationClass"
id="MenuPopulation"/>
</menu>
</menuContribution>
</extension>
答案 1 :(得分:1)
答案 2 :(得分:0)
这是你需要做的一个简单的概述。
要限制顶级菜单的可见性,请通过“扩展点选择”对话框创建一个空的ActionSet
。
接下来,将visibleWhen
表达式添加到plugin.xml
中定义的顶级菜单项。右键单击菜单项并选择New - &gt; visibleWhen。右键单击visibleWhen
元素并选择New - &gt;与
设置变量 - “activeContexts”
右键单击with元素并选择New - &gt;重复。选择新的iterate
元素并修改其属性,以便任何匹配的元素都可以使表达式评估true
。
右键点击iterate
元素,然后选择新建 - &gt;等于,然后修改value属性。
value =您的新ActionSet
最后,将顶级菜单项添加到ActionSet。