在Eclipse插件中为Java项目添加弹出操作

时间:2011-12-23 21:50:52

标签: java eclipse plugins

我想在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代替,菜单项显示就好了。请指教。

2 个答案:

答案 0 :(得分:1)

好的,问题是Java项目仅在Java透视图中被视为IJavaProject,用于测试插件的Eclipse实例从Resources透视图开始。如果我切换到Java透视图,一切都按预期工作。

答案 1 :(得分:0)

如果要在另一个资源管理器中显示菜单(例如在Resources透视图的Project explorer中),则必须按如下方式更改objectContribution定义:

  1. objectclass 属性设置为 org.eclipse.core.resources.IProject

  2. 添加可见性元素,以过滤具有 Java性质的项目的菜单/操作。

  3. 即:

    <objectContribution
          adaptable="true"
          objectClass="org.eclipse.core.resources.IProject">
    ...
       <visibility>
          <objectState
                name="projectNature"
                value="org.eclipse.jdt.core.javanature">
          </objectState>
       </visibility>
    </objectContribution>