Схемы

Схемы используются для создания общего стиля привязок. Например, рабочая среда содержит схему "По умолчанию" и схему "Emacs".   Одновременно активной может быть только одна схема.  Конфигурации можно активировать с помощью окна общих параметров.

С точки зрения реализации схемы являются простыми именованными группами привязок. Схема сама по себе не имеет смысла, если в ней не содержатся привязки.  

Давайте еще раз взглянем на код рабочей среды для org.eclipse.ui.bindings и рассмотрим определения привязок и то, как схемы связываются с привязками.

...
<key
       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>
...

Для команды "org.eclipse.ui.file.save" заданы две разные привязки клавиш.  Обратите внимание, что для каждой из них определена своя схема.  Когда активна схема по умолчанию, для запуска команды используется привязка клавиш "Ctrl+S".  Когда активна схема emacs, для запуска команды используется сочетание клавиш "Ctrl+X Ctrl+S".

Создание новых схем

Когда модуль задает привязку, скорее всего он привяжет ее к имеющейся схеме.  Однако модуль может и задать новую.  В этом случае можно задать новую схему внутри определения org.eclipse.ui.bindings.  Ниже приведен код рабочей среды, задающий схему по умолчанию и схему emacs:

...
<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>
...

Обратите внимание, что заданное здесь имя используется на странице параметров в списке схем.

Активация схемы

Схемы активируются на странице параметров.  Однако, можно задать схему по умолчанию в файле plugin_customization.ini. Ис пользуйте этот параметр:

org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.defaultAcceleratorConfiguration