将上下文菜单项添加到文本编辑器

时间:2014-03-13 09:29:20

标签: eclipse plugins

我想在eclipse中的默认文本编辑器的上下文菜单中添加一个自定义菜单项。

我可以使用

将菜单条目添加到所有上下文菜单
<menuContribution locationURI="popup:org.eclipse.ui.popup.any?after=additions">
    <command commandId="HelloPlugin2.commands.sampleCommand" label="My Test" style="push" />
</menuContribution>

但我希望它只在当前的编辑器上下文菜单中显示,所以我尝试了

 <menuContribution locationURI="popup:#TextEditorContext?after=additions">
    <command commandId="HelloPlugin2.commands.sampleCommand" label="My Test" style="push" />
</menuContribution>

但不幸的是该项目不可见......

anybode能帮帮我吗? 谢谢!

2 个答案:

答案 0 :(得分:2)

基本文本编辑器上下文菜单ID为#TextEditorContext,但基于文本编辑器的其他编辑器通常使用setEditorContextMenuId方法覆盖此内容。

查看setEditorContextMenuId调用,Java文本编辑器上下文菜单ID似乎为#CompilationUnitEditorContext(如果正在编辑.class文件,则为#ClassFileEditorContext

答案 1 :(得分:0)

我发现#TextEditorContext没有显示在* .java文件编辑器上,该编辑器具有#CompilationUnitEditorContext的扩展名。

使用Plugin Spy我发现,每个文本编辑器都使用#AbstractTextEditorContext。这适用于任何类型的文本编辑器。