如何将项添加到Eclipse插件的重构弹出菜单中

时间:2014-07-09 13:54:37

标签: eclipse-plugin eclipse-luna plugin.xml

我编写了一个简单的Eclipse插件,并希望使用一个可以调用我的代码的新项扩展 Refactor (alt + shit + T)菜单。

不幸的是,在花了几个小时研究可能的解决方案后,我失败了。

我尝试了一些在线建议的解决方案,但都没有用,可能是因为我使用的是最新的Eclipse Luna,而且根据我的理解,重构菜单(是?)被定义为一个叫做动作集的东西,现在它显然已被弃用了。

能够使用新命令API扩展顶级弹出菜单,但这不是我想要的。

我很想看到一个plugin.xml的工作示例,它将自定义项添加到 Refactor 弹出菜单中。

仅供参考,有效:

<extension point="org.eclipse.ui.menus">
  <menuContribution locationURI="menu:org.eclipse.jdt.ui.refactoring.menu?after=typeGroup">
    <command
      commandId="mycommandid"
      label="mycommandlabel">
    </command>
  </menuContribution>
</extension>
<extension point="org.eclipse.ui.commands">
  <command
    id="mycommandid"
    name="mycommandname">
  </command>
</extension>
<extension point="org.eclipse.ui.handlers">
  <handler
    class="MyHandlerClass"
    commandId="mycommandid">
  </handler>
</extension>

1 个答案:

答案 0 :(得分:-1)

试试这个

<extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            id="org.forsp.StringHelper.contribution1"
            nameFilter="*.*"
            objectClass="org.eclipse.ui.IEditorInput">
         <menu
               id="org.forsp.StringHelper.menu1"
               label="Menu"
               path="additions">
            <separator
                  name="group1">
            </separator>
         </menu>
         <action
               class="org.forsp.stringhelper.popup.actions.NewAction"
               enablesFor="1"
               id="org.forsp.StringHelper.newAction"
               label="New Action"
               menubarPath="org.forsp.StringHelper.menu1/group1">
         </action>
      </objectContribution>
   </extension>