Eclipse为action新增快捷键

来源:互联网 发布:网络购物的优点 编辑:程序博客网 时间:2024/05/16 12:28
在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的详细描述。