在eclipse插件开发中,我想在弹出菜单中添加一个项目(例如:Mystyle).
例如,
Project Explorer - >右键单击 - >新建 - > MyStyle
我怎样才能在eclipse插件开发中实现这一目标?
问马汉
Von*_*onC 24
这样的事情应该这样做(遵循这个线程):
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI=
"popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
<command
commandId="myplugin.command.mycommand"
icon="icons/etool16/mycommand.png"
label="Run mycommand"
mnemonic="M1+P"
tooltip="Do something with this project">
</command>
</menuContribution>
</extension>
Run Code Online (Sandbox Code Playgroud)
请参阅菜单贡献
定义命令UI结构的有序添加集.已定义的元素将添加到
locationURI元素指定的位置的命令UI结构中.这应该是菜单,工具栏或修剪中所有贡献的起点,无论它们出现在UI中.
locationURI- 一个URI规范,用于定义添加包含的添加项的插入点.
URI的格式由三个基本部分组成:
- Scheme:"menu","popup"或"toolbar"之一.
表示用于处理贡献的经理的类型- Id:这是现有菜单的id,视图ID或编辑器'type'的id
- 查询:查询格式位于
<placement>=<id>:<placement>"之前"或"之后",并且<id>是现有菜单项的id

也可以看看 ,org.eclipse.ui.popupMenusorg.eclipse.ui.menus- menuContribution具有locationURI-attribute指向的扩展点popup:org.eclipse.ui.popup.any?after=additions.
警告,正如Prashant Bhate在评论中提到的那样,该软件包org.eclipse.ui.popupMenus已被弃用.
请参阅问题与命令之间缺少链接objectContribution以获取更多信息.
我刚才解决了这个问题需要一段时间,所以我会回答OP的问题(添加到文件 - >新菜单).
在哪里贡献(common.new.menu)
感谢这篇文章,我发现你想要为popup做贡献:common.new.menu?after = new.你为什么问?如果我知道的话 但它的确有效.
结果
(当C/C++处于活动状态时)

(当'不'C/C++作为主动视角时)

这是我的示例插件:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.commands">
<command
defaultHandler="com.justin.debug.SampleHandler"
id="com.justin.debug.commands.sampleCommand"
name="Sample Command">
</command>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:common.new.menu?after=new">
<command
commandId="com.justin.debug.commands.sampleCommand"
icon="icons/sample.gif"
label="New Root Command From Justin"
style="push">
<visibleWhen
checkEnabled="false">
<with
variable="activeWorkbenchWindow.activePerspective">
<equals
value="org.eclipse.cdt.ui.CPerspective">
</equals>
</with>
</visibleWhen>
</command>
</menuContribution>
<menuContribution
locationURI="popup:common.new.menu?after=new">
<menu
id="org.ecilpse.ui.navigator.ProjectExplorer.helloJustin"
label="Hello Justin">
<command
commandId="com.justin.debug.commands.sampleCommand"
icon="icons/sample.gif"
label="New Submenu Command From Justin"
style="push">
</command>
</menu>
</menuContribution>
</extension>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我在这里添加了一个重要的部分,'visibleWhen'参数.这只是在C/C++透视图中显示Justin的新根命令.事实证明这很复杂,因此我将其纳入示例中.以下是我在研究时挖出的有用资源:
我通过痛苦地挖掘org.eclipse.cdt.ui插件的plugin.xml 挖出了C Perspective org.eclipse.cdt.ui.CPerspective的名称.
现在,如果有人能告诉我如何在未来轻松查看这些uri/resources/properties ... omg.
| 归档时间: |
|
| 查看次数: |
22371 次 |
| 最近记录: |