java - 通过 org.eclipse.ui.menus 扩展点贡献 "editorAction"

标签 java eclipse-rcp

在许多文档中,例如 here据描述,旧的扩展点org.eclipse.ui.actionSetsorg.eclipse.ui.viewActionsorg.eclipse.ui.editorActions Eclipse 3.2 中的 org.eclipse.ui.popupMenus 和 org.eclipse.ui.popupMenus 已被 Eclipse 3.3 中新的 org.eclipse.ui.menus 扩展点取代。

所以我的简单问题是: 如何使用新的扩展点 org.eclipse.ui.menus 为 editorAction 工具栏 (org.eclipse.ui.editorActions) 做出贡献?

我在许多不同的 locationURI 值中尝试了类似以下的内容,但从未成功。

   <extension point="org.eclipse.ui.menus">
      <menuContribution locationURI="toolbar:my.editor.id">
         <command
               commandId="my.command.id"
               icon="icons/somicon.gif"
               label="Do my command"
               style="push">
         </command>
      </menuContribution>
   </extension>

我的命令从未显示,并且我在控制台中没有收到任何反馈。那么 locationURI 的正确属性是什么,才能在那里获取我的命令?

该命令适用于其他工具栏,它也可以通过旧的扩展点(修改命令类)工作。

为什么我需要新的扩展点? 因为它不仅支持命令,还支持控件,您可以在其中贡献的不仅仅是一个简单的按钮。

最终更新

下面的解决方案旨在替换 editorActions 扩展点的功能。由于最后评论中的答案中提到的错误,该替换并不是真正有用。 无论如何接受...

最佳答案

我设法使用此 locationURI 为 Eclipse 中的主工具栏做出贡献:

locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions"

因此,例如,仅当我的编辑器处于 Activity 状态时才将我的命令贡献给工具栏:

<extension
     point="org.eclipse.ui.menus">
  <menuContribution
      locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
     <toolbar
           id="mytoolbar.id"
           label="my toolbar">
        <command
              commandId="command.id"
              icon="icons/sample.gif"
              id="mytoolbar.command.id"
              label="Do my command"
              style="push">
           <visibleWhen
                 checkEnabled="false">
                     <with
                         variable="activePartId">
                          <equals
                             value="my.editor.id">
                          </equals>
                     </with>
          </visibleWhen>
        </command>
     </toolbar>
  </menuContribution>
</extension>

其中 command.id 是我的命令的 ID。

关于java - 通过 org.eclipse.ui.menus 扩展点贡献 "editorAction",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10123862/

相关文章:

eclipse-rcp - eclipse rcp 键绑定(bind)不起作用

java - 如何在富客户端平台中为自定义语言编写源代码编辑器?

java - 在 Eclipse 4 中正确使用 ProgressMonitorDialog

java - Java中递归算法的优化

java - 查找列表中数据库列中不存在的数字

java - 反序列化时动态绑定(bind)JsonProperty

eclipse - 哪里可以下载Eclipse图标

java - 我可以在 Spring Security 中进行身份验证吗?

java - 用很多方法扩展类并隐藏其中的大部分

eclipse-plugin - 在特定文件夹中添加透视图