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" } );
有帮助吗?
我的自定义 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" } );
有帮助吗?