在许多文档中,例如 here据描述,旧的扩展点org.eclipse.ui.actionSets
,org.eclipse.ui.viewActions
,org.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/