我想在Eclipse插件中为Java项目添加弹出项目。我的plugin.xml包含:
<extension point="org.eclipse.ui.popupMenus">
<objectContribution
objectClass="org.eclipse.jdt.core.IJavaProject"
id="com.contribution1">
<action
label="Action"
class="com.actions.NewAction"
enablesFor="1"
id="com.actions.newAction">
</action>
</objectContribution>
但是,菜单项不会显示在弹出窗口中。如果我使用IPackageFragment代替,菜单项显示就好了。请指教。
答案 0 :(得分:1)
好的,问题是Java项目仅在Java透视图中被视为IJavaProject,用于测试插件的Eclipse实例从Resources透视图开始。如果我切换到Java透视图,一切都按预期工作。
答案 1 :(得分:0)
如果要在另一个资源管理器中显示菜单(例如在Resources透视图的Project explorer中),则必须按如下方式更改objectContribution定义:
将 objectclass 属性设置为 org.eclipse.core.resources.IProject 。
添加可见性元素,以过滤不具有 Java性质的项目的菜单/操作。
即:
<objectContribution
adaptable="true"
objectClass="org.eclipse.core.resources.IProject">
...
<visibility>
<objectState
name="projectNature"
value="org.eclipse.jdt.core.javanature">
</objectState>
</visibility>
</objectContribution>