【发布时间】:2015-04-23 16:44:57
【问题描述】:
我使用 Eclipse 模板生成了这个示例,当我在项目资源管理器中选择一个文件时,它可以正常工作。但是,当我右键单击文本编辑器或什至选择了一些文本时,我也希望它可用。
在 objectContribution 中使用正确的 objectClass 是什么?
<extension point="org.eclipse.ui.popupMenus">
<objectContribution
id="com.example.popup-cli.contribution1"
objectClass="org.eclipse.core.resources.IFile">
<menu
id="com.example.popup.menu1"
label="New Submenu"
path="additions">
<separator
name="group1">
</separator>
</menu>
<action
class="com.example.popup.actions.NewAction"
enablesFor="1"
id="com.example.popup.newAction"
label="New Action"
menubarPath="com.example.popup.menu1/group1">
</action>
</objectContribution>
</extension>
【问题讨论】:
-
'org.eclipse.ui.popupMenus' 已弃用,'org.eclipse.ui.menus' 应该用于新代码。
-
@greg-449 好的,我将改用“org.eclipse.ui.menus”。我只是不明白,如果它已被弃用,为什么它在 Eclipse Luna SDK 的模板列表中可用?无论如何,我想我必须使用适应标签来定义上下文菜单应该在哪个选择中可用,但是要用于文本编辑器选择的对象类型是什么?
-
'org.eclipse.ui.menus' 以不同的方式工作并且不使用对象类型。取而代之的是菜单 ID - 请参阅帮助。
-
@greg-449 根据文档,它也使用了与标签
和 类似的方法。但我不知道应该使用哪种类型来启用文本编辑器中选择的上下文菜单。
标签: eclipse eclipse-plugin eclipse-rcp