[英]Adding to Eclipse's console view pop-up menu
在Eclipse插件开发中,我已经能够通过执行以下操作向项目资源管理器上的右键单击上下文菜单添加项:
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.jdt.ui.PackageExplorer">
<command ... >
...
</command>
</menuContribution>
</extension>
但是当我尝试添加到ConsoleView的弹出菜单时,我没有得到结果。
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.ui.console.ConsoleView">
<command ... >
...
</command>
</menuContribution>
</extension>
我一直在关注alt-shift-F1和alt-shift-F2(Plug-in Spy)的输出,这是我得到org.eclipse.ui.console.ConsoleView
。 但我似乎无法进入弹出菜单本身。 我可以获得有关各个弹出菜单项(全选,清除等)的信息,但我想我只是不知道如何使用Plug-in Spy“挖掘”来获取正确的信息。
编辑:使用下面的答案显示我的工作成果
插件选择Spy有以下内容:
Active Part (Console)
The active view identifier:
org.eclipse.ui.console.ConsoleView
Active Selection
The selection class:
TextSelection
Active Help
The active help context identifiers:
org.eclipse.debug.ui.process_console_context
这是最后一个条目,它指向过程控制台 ,而不是消息控制台。 答案中的链接IDebugUIConstants.ID_PROCESS_CONSOLE_TYPE
定义为org.eclipse.debug.ui.ProcessConsoleType
。 所以我最终得到了这个,它起作用了:
<menuContribution
locationURI="popup:org.eclipse.debug.ui.ProcessConsoleType.#ContextMenu">
<command
commandId="com.grch.cmgtsdk.merge"
label="Yowza!"
style="push">
</command>
</menuContribution>
Console视图本身只是不同类型控制台的容器,它没有上下文菜单。 您需要确定要添加贡献的特定控制台的菜单ID。
对于文本控制台,菜单ID看起来像<console type>.#ContextMenu
。 这没有真正记录,找到控制台类型并不简单(你应该查看代码)。 例如,过程控制台的控制台类型中被定义IDebugUIConstants.ID_PROCESS_CONSOLE_TYPE
而对于消息控制台它IConsoleConstants.MESSAGE_CONSOLE_TYPE
。
上面的回答帮助我创建了弹出窗口。 以下是示例代码: -
<menuContribution
locationURI="popup:org.eclipse.ui.MessageConsole.#ContextMenu">
<menu
label="My Popup" id="com.abhi.test.popup.menu2">
<command
commandId="com.abhi.test.command1"
id="com.abhi.test.popup.command3"
style="push">
</command>
</menu>
</menuContribution>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.