首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从editorAction迁移到org.eclipse.ui.menus

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

Stack Overflow用户
提问于 2018-10-29 08:28:41
回答 1查看 131关注 0票数 1

对于我所拥有的previous question,我找到了一个解决方案,它使用了一些不推荐的API。

因此,为了在用户单击标记时运行某些内容,我将其添加到我的plugin.xml中。

代码语言:javascript
复制
<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,到目前为止,我想出了以下内容:

代码语言:javascript
复制
<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>字段。

我应该在哪里配置这些信息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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被标记为不推荐使用,但它不太可能被删除,因为有太多的现有代码使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53041472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档