Eclipse plugin 将菜单项添加到Project Explorer中的“配置”菜单项/组

Eclipse plugin 将菜单项添加到Project Explorer中的“配置”菜单项/组,eclipse-plugin,Eclipse Plugin,我正在尝试向Project Explorer中的“配置”菜单项/组提供一个菜单项 下面的代码段将“我的菜单项”添加到同一级别。在和之间添加将创建重复的“配置”菜单项 我做错了什么 您应该使用org.eclipse.ui.popupmones扩展点并添加objectContribution 这里是plugin.xml中的一个简化片段,我们在AJDT中使用它来帮助配置菜单。你应该能够在你的项目中使用类似的东西 <extension point="org.eclipse.ui.popu

我正在尝试向Project Explorer中的“配置”菜单项/组提供一个菜单项

下面的代码段将“我的菜单项”添加到同一级别。在和之间添加将创建重复的“配置”菜单项

我做错了什么

您应该使用org.eclipse.ui.popupmones扩展点并添加objectContribution

这里是plugin.xml中的一个简化片段,我们在AJDT中使用它来帮助配置菜单。你应该能够在你的项目中使用类似的东西

<extension
     point="org.eclipse.ui.popupMenus">
  <objectContribution
        objectClass="org.eclipse.core.resources.IProject"
        adaptable="true"
        id="iprojectcontributions">
     <menu
           label="%org.eclipse.ajdt.ui.tools"
           id="org.eclipse.ajdt.ui.project.tools">
        <separator
           name="group0">
        </separator>
     </menu>     
     <visibility>
        <and>
            <objectState name="nature" value="org.eclipse.jdt.core.javanature"/>
            <not>
                <objectState name="nature" value="org.eclipse.ajdt.ui.ajnature"/>
            </not>
            <objectState name="open" value="true"/>
        </and>
     </visibility>
     <action
           label="%convertToAJP"
           class="org.eclipse.ajdt.internal.ui.actions.AddAJNatureAction"
           menubarPath="org.eclipse.ui.projectConfigure/additions"
           id="addajnatureaction">
     </action>
  </objectContribution>
</extension>
您应该使用org.eclipse.ui.popupmones扩展点并添加objectContribution

这里是plugin.xml中的一个简化片段,我们在AJDT中使用它来帮助配置菜单。你应该能够在你的项目中使用类似的东西

<extension
     point="org.eclipse.ui.popupMenus">
  <objectContribution
        objectClass="org.eclipse.core.resources.IProject"
        adaptable="true"
        id="iprojectcontributions">
     <menu
           label="%org.eclipse.ajdt.ui.tools"
           id="org.eclipse.ajdt.ui.project.tools">
        <separator
           name="group0">
        </separator>
     </menu>     
     <visibility>
        <and>
            <objectState name="nature" value="org.eclipse.jdt.core.javanature"/>
            <not>
                <objectState name="nature" value="org.eclipse.ajdt.ui.ajnature"/>
            </not>
            <objectState name="open" value="true"/>
        </and>
     </visibility>
     <action
           label="%convertToAJP"
           class="org.eclipse.ajdt.internal.ui.actions.AddAJNatureAction"
           menubarPath="org.eclipse.ui.projectConfigure/additions"
           id="addajnatureaction">
     </action>
  </objectContribution>
</extension>
使用org.eclipse.ui.menus是未来更安全的方式,所以我更喜欢在有选择的时候使用它

将locationURI设置为popup:org.eclipse.ui.projectConfigure

如果您需要查找任何菜单的位置URI,请按Alt+Shift+F2,然后像往常一样打开菜单并单击要插入的位置。

使用org.eclipse.ui.menus是未来更安全的方法,因此我更喜欢在有选择时使用它

将locationURI设置为popup:org.eclipse.ui.projectConfigure


如果需要查找任何菜单的locationURI,请按Alt+Shift+F2,然后像往常一样打开菜单并单击要插入的位置。

虽然@Aaron s eclipse 3.4版本的答案是正确的,但org.eclipse.ui.popupMenu扩展点不推荐使用Juno。因此,这个建议对未来来说并不安全。虽然对于@Aaron的Eclipse3.4版本来说答案是正确的,但是org.eclipse.ui.popupMenus扩展点对于Juno来说是不推荐的。因此,这项建议在未来并不安全。