在Eclipse RCP的基础上开发,我们会感到非常便利,有好多可重用的组件。但有时也有些意想不到的问题, Key bindings就是其中之一。
一般情况下,我们通过扩展org.eclipse.ui.bindings来增加新的快捷键绑定。下面的例子中,我设置了一个CTRL+T的快捷键。
乍看上去,编译使用都能够做良好,问题出在schemeId上。org.eclipse.ui.defaultAcceleratorConfiguration是默认的scheme, 它里面其实包含了大量的快捷键设定,很多可能是你不要的,比如CTRL+F(查找与替换),CTRL+N(新建Wizard)等等。如果发布到产品中,反而画蛇添足。
修正这个问题很容易,就是设置自己的scheme。下面是个例子,
别忘要同时修改一下,Key的设定,
还有如果要让自定义的scheme能生效,要修改一下plugin_customization.ini文件,加入如下配置,
1 |
org.eclipse.ui/KEY_CONFIGURATION_ID=myscheme |
这样,你的Scheme就会生效了。
可能你回问,如果想重用如CTRL+S的快捷键怎么办?那就重用File Save的commandId,如下,
这样问题就解决了。