1

我编写了一个简单的 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>
4

1 回答 1

-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>
于 2015-09-12T09:59:02.397 回答