我有一个带有许多插件的模块化应用程序。特别是有一个为酷吧提供工具栏:
<menuContribution allPopups="false" locationURI="toolbar:org.eclipse.ui.main.toolbar">
<toolbar id="calculation" />
</menuContribution>
第二个插件贡献命令和位置(实际上,它是一个插件及其片段,但我希望这不是问题):
<extension point="org.eclipse.ui.commands">
<command id="myCalculation"
name="My Calculation">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution allPopups="false" locationURI="toolbar:calculation">
<command commandId="myCalculation" style="push">
<visibleWhen checkEnabled="true" />
</command>
</menuContribution>
</extension>
最后,第三个插件将处理程序挂钩到命令:
<extension point="org.eclipse.ui.handlers">
<handler class="org.acme.MyCalculationHandler" commandId="myCalculation">
<enabledWhen>
<!-- some stuff -->
</enabledWhen>
</handler>
虽然这种方法适用于下拉项目,菜单和子菜单以及所有内容,但它不适用于酷吧。显示的命令,但它们的位置不正确:
(在save命令下隐藏了两个命令。)
当定义工具栏ID的插件添加自己的贡献时,bug就会消失。我不知道在哪里开始调试这个问题。任何人都可以给我指针吗?感谢。