我需要在右键单击任何包时打开的菜单中添加一个项目。
我到目前为止所做的是将这些行添加到plugin.xml:
<objectContribution id="myPlugin.menu" objectClass="org.eclipse.jdt.core.IPackageFragment">
<menu id="myPlugin.menu1" label="My New Item"></menu>
<action
class="myPlugin.rightClickMenu.NewActivityAction"
enablesFor="1"
id="myPlugin.newAction"
label="Create New Activity"
menubarPath="myPlugin.menu1/group1">
</action>
</objectContribution>
简而言之, 这是非常好的,并且做我需要的一切。 它在我右键单击包时打开的菜单中显示“我的新项目”。 当我点击任何其他文件夹,文件或项目时,它不起作用。
但是,
这已被弃用......
我找到了另一种方法:
<menuContribution locationURI="popup:org.eclipse.jdt.ui.PackageExplorer?before=additions">
<separator name="separetor1" visible="true"></separator>
<command commandId="openMyMenu"
label="My New Item" style="push">
</command>
</menuContribution>
<command defaultHandler="myPlugin.rightClickMenu.NewActivityAction"
id="openMyMenu" name="createActivity">
</command>
这不是弃用的, 但这显示菜单中的“我的新项目”总是无论我点击什么。 甚至对于JRE系统库菜单。
任何人都可以帮助我吗?
谢谢!
答案 0 :(得分:0)
您需要在menuContribution:
中的命令中使用visibleWhen
元素
<command commandId="openMyMenu"
label="My New Item" style="push">
<visibleWhen>
<iterate
ifEmpty="false"
operator="or">
<adapt
type="org.eclipse.jdt.core.IPackageFragment">
</adapt>
</iterate>
</visibleWhen>
</command>