我正在尝试关注Lars Vogel's tutorial on natures,并且卡在定义菜单visibleWhen
的位置。当我将以下内容添加到command
中的menuContribution
定义中时:
<visibleWhen
checkEnabled="false">
<adapt
type="org.eclipse.core.resources.IProject">
</adapt>
</visibleWhen>
在项目浏览器中右键单击项目时,我的菜单项永远不会出现。
我仔细检查了所有必要的内容,例如org.eclipse.core.runtime
,org.eclipse.core.resources
和org.eclipse.ui
作为依赖项。
我错过了什么?
答案 0 :(得分:1)
您需要使用<iterate>
,因为您正在测试的是可能包含多个项目的选项:
例如,这是PDE API分析工具命令定义之一:
<command
commandId="org.eclipse.pde.api.tools.ui.convert.javadocs"
style="push">
<visibleWhen
checkEnabled="false">
<iterate>
<adapt
type="org.eclipse.core.resources.IProject">
<test
property="org.eclipse.core.resources.projectNature"
value="org.eclipse.pde.api.tools.apiAnalysisNature">
</test>
</adapt>
</iterate>
</visibleWhen>
</command>