O workbench define vários aceleradores para chamar ações comuns com o teclado. Quando seu plug-in define uma nova ação utilizando o ponto de extensão actionSets ou editorActions, um atributo accelerator pode ser especificado com qualquer ação. Esta é uma maneira de estabelecer a combinação de teclas que chamará a ação. Entretanto, permitir que cada plug-in defina suas próprias teclas aceleradoras para ações apresenta vários problemas:
Para minimizar esses problemas, a plataforma define uma estratégia de ligação de teclas configurável extensível pelos plug-ins. Ela resolve os problemas listados acima e apresenta novas capacidades:
A estratégia básica é que os plug-ins utilizam definições de ações para definir ações de semântica. As definições de ações são simplesmente declarações de uma ação. Elas não definem uma implementação para a ação. Quando um plug-in define uma ação para um editor, conjunto de ações ou exibição, a ação pode especificar que é uma implementação de uma dessas definições de ações. Isso permite que ações semanticamente semelhantes sejam associadas à mesma definição de ação.
Entretanto, os plug-ins podem definir conjuntos de aceleradores que mapeiam definições de ações para combinações de teclas. Esses conjuntos de aceleradores podem ser agrupados em configurações do acelerador que o usuário pode ativar através do diálogo Preferências.
Finalmente, os plug-ins podem definir escopos do acelerador que determinam a ordem de procura das ligações de teclas.
Isso tudo é melhor entendido passando pelo workbench e examinando como as ações e aceleradores são declarados. Veremos tudo isso do ponto de vista da definição de ligações de teclas para ações existentes.