Eclipse:如何将键绑定添加到编辑器上下文菜单上的操作

Eclipse: how do you add a key binding to an action on an editor context menu

我的自定义 Eclipse 编辑器覆盖了 createAction,它在编辑器中注册了一个 IAction。然后,在 editorContextMenuAboutToShow 中,我将此操作添加到菜单中。

一切正常,因为操作出现在编辑器的上下文菜单中;而且我能够从菜单本身调用操作。

现在,我想为此操作添加一个键绑定。到目前为止,我已经为我的 plugin.xml 添加了三个扩展:一个命令、一个绑定和一个上下文。我实际上可以在键首选项中看到 command/binding/context。

至于将命令绑定到我的操作,我在 createActions 中创建操作本身后将 plugin.xml 中声明的命令 ID 作为参数传递给 setActionDefinitionId

不用说,键绑定不会调用操作 - 因此会出现这个问题。我缺少哪些步骤?

在基于 TextEditor 的编辑器中,我必须触摸这些地方才能提供具有键绑定的操作:

  • 定义命令、键绑定和作用域(就像您所做的那样)

  • 设置 actionDefinitionId 以匹配命令 ID(就像您所做的那样)

  • createActions() 中创建操作后,我不得不调用 setAction( myAction.getActionDefinitionId(), myAction );

  • initializeKeyBindingScopes() 中设置范围 setKeyBindingScopes( new String[]{ "org.example.myScope" } );

有帮助吗?