对于我所拥有的previous question,我找到了一个解决方案,它使用了一些不推荐的API。
因此,为了在用户单击标记时运行某些内容,我将其添加到我的plugin.xml中。
<extension point="org.eclipse.ui.editorActions">
<editorContribution targetID="org.eclipse.cdt.ui.editor.CEditor"
id="org.eclipse.ui.texteditor.ruler.actions">
<action
actionID="RulerClick"
class="com.example.MarkerClickAction"
id="com.example.MarkerClickAction"
label="%Dummy.label">
</action>
</editorContribution>
</extension>我试图将editorActions翻译成org.eclipse.ui.menus,到目前为止,我想出了以下内容:
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="org.eclipse.cdt.ui.editor.CEditor">
<command
commandId="com.example.MarkerClickAction"
description="Opens Quick Fix when the user clicks a marker"
id="org.eclipse.ui.texteditor.ruler.actions"
name="Marker Click Action">
</command>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.example.MarkerClickAction"
commandId="com.example.MarkerAction">
</handler>
</extension> 我不知道如何映射的唯一事情是来自<action>的<action>字段。
我应该在哪里配置这些信息?
发布于 2018-10-29 08:39:47
您还需要一个org.eclipse.ui.commands扩展点来定义命令id。
从处理程序到旧动作没有简单的映射。
处理程序通常会扩展org.eclipse.core.commands.AbstractHandler。
org.eclipse.ui.handlers.HandlerUtil类为处理程序提供了许多帮助方法,以完成诸如获取活动编辑器之类的任务。
请注意,虽然org.eclipse.ui.editorActions被标记为不推荐使用,但它不太可能被删除,因为有太多的现有代码使用它。
https://stackoverflow.com/questions/53041472
复制相似问题