在Eclipse的Plugin开发中,给Action增加快捷键是很简单的,只要在插件的plugin.xml加入如下内容即可:
<extension
point = "org.eclipse.ui.commands">
<!-- activeKeyConfiguration项用来说明所绑定快捷键的初始设置 -->
<activeKeyConfiguration value="org.eclipse.ui.defaultAcceleratorConfiguration"/>
<!-- 如果快捷键设置有多套,可以添加多个类别 -->
<category
name="Bacchus.Category1"
description="Test description"
id="Bacchus.Category1"/>
<!-- 其中id为这个command的ID,相关的action通过这个ID标志找到这个command -->
<command
name="Bacchus.Category1"
category="Bacchus.Category1"
description="Test bacchus command1"
id="bacchus.portal.ui.commands.BacchusAction"/>
<!-- 具体的快捷键设置,其中command指定实际的coomand的ID -->
<keyBinding
keySequence="Ctrl+1"
command="bacchus.portal.ui.commands.BacchusAction"
configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
</keyBinding>
</extension>
在具体的Action配置中,只要在其属性definitionId设置成command的ID即可,示例如下:
<action
label="Sample Action"
icon="icons/sample.gif"
class="cli.bacchus.portal.ui.actions.BacchusAction"
tooltip="Hello, Eclipse world"
menubarPath="sampleMenu/sampleGroup"
toolbarPath="sampleGroup"
id="bacchus.portal.ui.actions.BacchusAction"
definitionId="bacchus.portal.ui.commands.BacchusAction">
</action>注意:当给相关的action设置完definitionID后,必须保证其中设置的command是有的,而且是正确的,否则有可能导致该action显示不出来。
更具体的信息请参考eclipse开发参考中关于扩展点org.eclipse.ui.commands的详细描述。