在Egit,.....当右键单击项目,然后单击“在历史中显示”,历史视图显示所有提交的列表,选择一个提交,右键单击,弹出菜单显示(Checkout,创建分支,创建标记,.....修订评论)。我需要做的是在这个名为“Add To Factory”的弹出菜单中添加一个新项目,然后单击它时,转到“AddToFactoryHandler”进行实现。
在历史记录视图中右键单击提交时,我希望此菜单项始终存在。
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.egit.ui.historyPageContributions">
<command defaultHandler="xxxxxxxxxxx.AddToFactoryHandler"
commandId="xxxxxxxxxx.AddToFactory"
label="AddToFactory"
style="push" >
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler class="xxxxxxxxxxx.AddToFactoryHandler"
commandId="xxxxxxxxxx.AddToFactory">
</handler>
</extension>
然后在历史记录视图中,我第一次选择任何提交,右键单击,弹出菜单显示 灰色的“添加到工厂”。然后第二次,右击,它就消失了。
我非常感谢任何帮助..谢谢!
答案 0 :(得分:0)
您需要使用org.eclipse.ui.commands
扩展点来定义命令ID。
另请注意,command
中的menuContribution
没有defaultHandler
参数。
类似于:
<extension
point="org.eclipse.ui.commands">
<command
id="xxxxxxxxxx.AddToFactory"
defaultHandler="xxxxxxxxxxx.AddToFactoryHandler"
description="description"
name="name">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.egit.ui.historyPageContributions">
<command
commandId="xxxxxxxxxx.AddToFactory"
label="AddToFactory"
style="push" >
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler class="xxxxxxxxxxx.AddToFactoryHandler"
commandId="xxxxxxxxxx.AddToFactory">
</handler>
</extension>