加速器集

動作定義和呼叫動作之快速鍵組合之間的關聯稱為加速器加速器集為許多加速器的組合。外掛程式使用 org.eclipse.ui.acceleratorSets 延伸點提供加速器集。工作台定義提供 Emacs 類快速鍵連結的加速器集: 

<extension
      point="org.eclipse.ui.acceleratorSets">
   <acceleratorSet
         scopeId="org.eclipse.ui.globalScope"
         configurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
      <accelerator
            key="Ctrl+F4||Ctrl+X Ctrl+K"
            id="org.eclipse.ui.file.close">
      </accelerator>
      <accelerator
            key="Ctrl+Shift+F4||Ctrl+X Ctrl+C"
            id="org.eclipse.ui.file.closeAll">
      </accelerator>
      <accelerator            key="Ctrl+X Ctrl+S"
            id="org.eclipse.ui.file.save">
      </accelerator>
      ...

這是 org.eclipse.ui.file.save。恢復我們假設的動作定義:

<extension point = "org.eclipse.ui.actionSets">
 	   <actionSet id="com.example.actions.actionSet"
		   label="Example Actions"
		   visible="true">
		   <action id="com.example.actions.action1"
	      menubarPath="additions"
			   label="Example Save Action"
			   class="org.example.actions.ExampleActionDelegate"
			   definitionID="org.eclipse.ui.file.save">
		   </action>
		   ...
	   </actionSet>
</extension>

當我們的範例動作集為作用中時,使用者選取 Ctrl+S 之後 再選取 Ctrl+X,將啟動儲存動作。(|| 的用法,如 "Ctrl+Shift+F4||Ctrl+X Ctrl+C" 表示可用來啟動動作的快速鍵連結。 )

當工作台 SaveAction 在作用中時,相同的鍵組合將呼叫它, 因為工作台為 SaveAction 使用相同動作定義 ID。

要完成這個範例,我們需要瞭解什麼是 scopeIDconfigurationId。首先,先處理配置架構。

Copyright IBM Corp. and others 2000,2002.