動作定義和呼叫動作之快速鍵組合之間的關聯稱為加速器。加速器集為許多加速器的組合。外掛程式使用 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。
要完成這個範例,我們需要瞭解什麼是 scopeID 和 configurationId。首先,先處理配置架構。