在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的詳細描述。