在许多文档中,如here所述,Eclipse 3.2中的旧扩展点org.eclipse.ui.actionSets
,org.eclipse.ui.viewActions
,org.eclipse.ui.editorActions
和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
的正确属性是什么,在那里得到我的命令?
该命令适用于其他工具栏,它也可以通过旧的扩展点(修改命令类)工作。
为什么我需要新的扩展piont? 因为它不仅支持命令,还支持控件,您可以在其中提供多个简单按钮。
最终更新
下面的解决方案旨在从editorActions扩展点替换功能。由于答案最后评论中提到的错误,该替换并不是真正有用。 无论如何接受......
答案 0 :(得分:3)
我设法使用此locationURI为Eclipse中的主工具栏做出贡献:
locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions"
因此,例如,仅当我的编辑器处于活动状态时才将我的命令提供给工具栏:
<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。