Scheman

Scheman används till att beteckna ett allmänt format eller tema för bindningar. Ett exempel: arbetsmiljön tillhandahåller ett "standardschema" och ett "Emacs-schema".  Bara ett schema kan vara aktivt åt gången.  Slutanvändare styr vilket schema som är aktivt från inställningssidan Allmänt > Nycklar .

Ur en implementationssynvinkel är scheman helt enkelt namngivna grupper av bindningar.  Ett schema utför inte något på egen hand såvida det inte finns bindningar kopplade till det.  

Låt oss ta en titt igen på arbetsmiljökoden förorg.eclipse.ui.bindings och leta upp bindningsdefinitionerna och ta reda på hur ett schema kopplas till en bindning.

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

Det finns två olika tangentbindningar definierade för kommandot "org.eclipse.ui.file.save".  Lägg märke till att de har olika schemeId definierade för sig.  När standardschemat är aktivt anropar tangentbindningen "Ctrl+S" kommandot.  När emacs-schemat är aktivt, anropar sekvensen "Ctrl+X Ctrl+S" kommandot.

Definiera nya scheman

När insticksprogrammet definierar en bindning kommer det mest sannolikt att tilldela den till ett befintligt schema.  Däremot kan det hända att insticksprogrammet vill definiera ett nytt schemaformat.  I så fall kan du definiera en ny typ av schema iorg.eclipse.ui.bindings-definitionen.  Arbetsmiljökoden som definierar standard- och emacs-tangentkonfigurationerna visas nedan:

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

Lägg märke till att namnet name som definieras här är det som används på inställningssidan i schemalistan.

Aktivera ett schema

Användaren styr det aktiva schemat via inställningssidan.  Däremot kan du definiera det schema som ska vara aktivt som standard som en del i filen "plugin_customization.ini". Det är en inställning:

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