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

Eclipse plugin Eclipse:如何向编辑器上下文菜单上的操作添加键绑定,eclipse-plugin,eclipse-rcp,Eclipse Plugin,Eclipse Rcp,我的自定义Eclipse编辑器覆盖createAction,它在编辑器中注册一个IAction。然后,在editorContextMenuaboutShow中,我将此操作添加到菜单中 一切正常,动作出现在编辑器的上下文菜单上;我可以从菜单本身调用这个动作 现在,我想为这个操作添加一个键绑定。到目前为止,我已经为plugin.xml添加了三个扩展:命令、绑定和上下文。实际上,我可以在keys首选项中看到命令/绑定/上下文 至于将命令绑定到我的操作,在createActions中创建操作本身之后,我

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

一切正常,动作出现在编辑器的上下文菜单上;我可以从菜单本身调用这个动作

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

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


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

在基于TextEditor的编辑器中,我必须触摸这些位置,以便提供带有键绑定的操作:

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

  • 将actionDefinitionId设置为与命令id匹配(与您所做的一样)

  • createActions()
    中创建操作后,我必须调用
    setAction(myAction.getActionDefinitionId(),myAction)

  • 使用
    setKeyBindingScopes(新字符串[]{“org.example.myScope”})在
    initializeKeyBindingScopes()
    中设置范围


这有帮助吗?

通过将命令的
contextId
设置为
org.eclipse.ui.contexts.window
,而不是将id设置为我定义的上下文,我成功地实现了这一点。。。。然后问题就变成了如何将我的上下文“绑定”到我的编辑器???是的,就是这样。。。。我缺少的是覆盖
初始化keybindscopes
。。。。