Os Esquemas são utilizados para representar um estilo ou tema geral das ligações. Por exemplo, o Workbench fornece um esquema "Default" e "Emacs". Apenas um esquema está ativo em determinado momento. Os usuários finais controlam qual delas está ativa utilizando o diálogo Preferências geral.
Do ponto de vista da implementação, os esquemas são simplesmente agrupamentos nomeados de ligações. Um esquema não realiza nada por si próprio, a menos que haja ligações associadas a ele.
Vejamos novamente a marcação do workbench em org.eclipse.ui.bindings para localizar as definições de ligação e como um esquema é associado a uma ligação.
... <chave sequence="Ctrl+S" commandId="org.eclipse.ui.file.save" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"> </key> ... <key sequence="Ctrl+X Ctrl+S" commandId="org.eclipse.ui.file.save" schemeId="org.eclipse.ui.emacsAcceleratorConfiguration"> </key> ...
Há duas ligações de teclas diferentes definidas para o comando "org.eclipse.ui.file.save". Observe que cada uma possui um schemeId diferente definido. Quando o esquema default está ativo, a ligação de teclas "Ctrl+S" chamará o comando. Quando o esquema emacs está ativo, a seqüência "Ctrl+X Ctrl+S" chamará o comando.
Quando seu plug-in definir uma ligação, provavelmente a atribuirá a um esquema existente. Entretanto, o plug-in pode desejar definir um estilo completamente novo de esquema. Se este for o caso, é possível definir um novo tipo de esquema dentro da definição org.eclipse.ui.bindings. A marcação do workbench que define as configurações de teclas default e emacs são mostradas a seguir:
... <scheme name="%keyConfiguration.default.name" description="%keyConfiguration.default.description" id="org.eclipse.ui.defaultAcceleratorConfiguration"> </scheme> <scheme name="%keyConfiguration.emacs.name" parentId="org.eclipse.ui.defaultAcceleratorConfiguration" description="%keyConfiguration.emacs.description" id="org.eclipse.ui.emacsAcceleratorConfiguration"> </scheme> ...
Observe que name definido aqui é aquele utilizado na página de preferências na lista de esquemas.
O usuário controla o esquema ativo por meio da página de preferências. Entretanto, é possível definir o esquema ativo padrão como parte da definição de "plugin_customization.ini". É uma preferência:
org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.defaultAcceleratorConfiguration