Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从editorAction迁移到org.eclipse.ui.menus_Eclipse_Eclipse Plugin_Eclipse Rcp_Eclipse Pde - Fatal编程技术网

从editorAction迁移到org.eclipse.ui.menus

从editorAction迁移到org.eclipse.ui.menus,eclipse,eclipse-plugin,eclipse-rcp,eclipse-pde,Eclipse,Eclipse Plugin,Eclipse Rcp,Eclipse Pde,对于我所拥有的一个API,我找到了一个利用一些不推荐的API的解决方案 因此,为了在用户单击标记时运行一些东西,我将其添加到我的plugin.xml: <extension point="org.eclipse.ui.editorActions"> <editorContribution targetID="org.eclipse.cdt.ui.editor.CEditor" id="org.eclips

对于我所拥有的一个API,我找到了一个利用一些不推荐的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>
我唯一不知道如何映射的是

中的
actionID=“RulerClick”
字段
我应该在哪里配置这些信息?

您还需要一个
org.eclipse.ui.commands
扩展点来定义命令id

从处理程序到旧操作之间没有简单的映射

处理程序通常会扩展
org.eclipse.core.commands.AbstractHandler

org.eclipse.ui.handlers.HandlerUtil
类为处理程序提供了许多帮助程序方法,用于执行诸如获取活动编辑器之类的操作


请注意,尽管
org.eclipse.ui.editorActions
被标记为已弃用,但它不太可能被删除,因为有太多的现有代码使用它。

感谢
命令
提示,忽略了这一点。获取活动编辑器没有问题。问题是,我希望处理程序仅在
规则单击
操作发生时执行。您是否建议不要过度工作,而是坚持使用
编辑操作
解决方案?如果当前代码正常工作,我看不出有任何改变。我只是想使用“最新技术”不要引入不推荐使用的代码
<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>