A associação entre uma definição de ação e as combinações de teclas que devem chamar a ação é chamada de acelerador. Um conjunto de aceleradores é uma lista de aceleradores. Os plug-ins podem contribuir com conjuntos de aceleradores utilizando o ponto de extensão org.eclipse.ui.acceleratorSets. O workbench define um conjunto de aceleradores que fornece ligações de teclas do tipo 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>
...
Há nosso amigo org.eclipse.ui.file.save. Lembrar da nossa definição de ação hipotética:
<extension point = "org.eclipse.ui.actionSets"> <actionSet id="com.example.actions.actionSet" label="Exemplo de Ações" visible="true"> <action id="com.example.actions.action1" menubarPath="additions" label="Exemplo de Ação de Salvamento" class="org.example.actions.ExampleActionDelegate" definitionID="org.eclipse.ui.file.save"> </action> ... </actionSet> </extension>
Quando nosso exemplo de conjunto de ações está ativo, nossa ação de salvamento será chamada quando o usuário escolher Ctrl+X seguido de Ctrl+S. (O uso de ||, tal como "Ctrl+Shift+F4||Ctrl+X Ctrl+C" indica que é possível utilizar uma das combinações de teclas para ativar a ação.)
Da mesma forma, quando SaveAction do workbench estiver ativa, as mesmas combinações de teclas a chamarão no lugar, uma vez que o workbench utilizou o mesmo id de definição de ação de SaveAction.
Para concluir o exemplo, precisamos entender o que scopeID e configurationId significam. Vamos ver as configurações primeiro.