因此,出于学习目的,我正在编写一个eclipse插件,该插件应该采用现有的启动配置,并使用一些新的VM属性重新运行它。
通过org.eclipse.ui.commands扩展点,我可以创建命令。
<extension point="org.eclipse.ui.commands">
<command
defaultHandler="launchconfigurator.LaunchConfiguratorCommandHandler"
id="launchconfigurator.toolbar.command"
name="JCCRun">
</command>
</extension>
接下来,我将按钮添加到工具栏:
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="toolbar:org.eclipse.ui.main.toolbar">
</menuContribution>
<menuContribution
locationURI="toolbar:org.eclipse.debug.ui.launchActionSet">
<command
commandId="launchconfigurator.toolbar.command"
icon="favicon_1_-3.png"
style="pulldown">
<visibleWhen
checkEnabled="true">
</visibleWhen>
</command>
</menuContribution>
此时我的工具栏上有一个按钮,向我显示我的按钮,并有一个下拉菜单的箭头。但是当我点击菜单箭头时,没有任何反应......
我想拥有的是与eclipse运行或调试按钮完全相同的菜单...... 有谁知道我怎么能接受这个?
我想应该有一些我需要用plugin.xml做的事情让eclipse看到我的按钮作为一个运行按钮,但我不确定eclipse究竟需要什么... 也许有一些我可以看到的eclipse源代码?
我甚至实现了自己的代表和标签组,我不需要执行但是认为它会有所帮助......但是,遗憾的是,它没有...
提前谢谢你的回答, 愿力量与你同在
答案 0 :(得分:2)
“运行”按钮使用旧样式org.eclipse.ui.actionSets
扩展点定义:
<action
id="org.eclipse.debug.internal.ui.actions.RunDropDownAction"
toolbarPath="org.eclipse.debug.ui.launchActionSet/debug"
hoverIcon="$nl$/icons/full/etool16/run_exc.png"
class="org.eclipse.debug.internal.ui.actions.RunToolbarAction"
disabledIcon="$nl$/icons/full/dtool16/run_exc.png"
icon="$nl$/icons/full/etool16/run_exc.png"
helpContextId="run_action_context"
label="%RunDropDownAction.label"
style="pulldown">
</action>
因此,创建“运行”下拉菜单的代码为org.eclipse.debug.internal.ui.actions.RunToolbarAction
。这只是一个很小的课程:
public class RunToolbarAction extends AbstractLaunchToolbarAction {
public RunToolbarAction() {
super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
}
}
因此,这是使用更通用的类AbstractLaunchToolbarAction
并指定要显示的启动组。你也许可以做类似的事情。