Toetsen

De werking van het toetsenbord in Eclipse kan geheel naar wens worden aangepast op de voorkeurenpagina Algemeen > Toetsen In Eclipse zijn bepaalde toetsaanslagen en toetsencombinaties toegewezen om bepaalde opdrachten uit te voeren.

Toetsaanslagen, toetsencombinaties en toetskoppelingen

Een 'toetsaanslag' is het indrukken van een toets van het toetsenbord, terwijl u eventueel een of meer van de volgende combinatietoetsen ingedrukt houdt: Ctrl, Alt (Option op de Macintosh), Shift of Command (alleen op de Macintosh.) Als u bijvoorbeeld Ctrl ingedrukt houdt en vervolgens op A drukt, levert dit de toetsaanslag Ctrl+A op. Het indrukken van de combinatietoetsen zelf worden niet als toetsaanslagen gerekend.

Een 'toetsencombinatie' is een of meer toetsaanslagen. Door EMACS zijn van oudsher twee of drie toetsaanslagcombinaties aan bepaalde opdrachten toegewezen. De normale toetsencombinatie die bijvoorbeeld in EMACS is toegewezen aan Alles afsluiten is Ctrl+X Ctrl+C. Als u deze toetsencombinatie wilt invoeren, drukt u op de toetsaanslag Ctrl+X gevolgd door de toetsaanslag Ctrl+C. Hoewel Eclipse toetsaanslagen met een willekeurige lengte ondersteunt, is het raadzaam dat sneltoetscombinaties niet langer zijn dan vier toetsaanslagen.

Een 'toetskoppeling' is het toewijzen van een toetsencombinatie aan een opdracht.

Schema's

Een 'schema' is een verzameling koppelingen. Eclipse bevat twee schema's:

Het schema Standaard bevat een algemene set koppelingen, in veel gevallen herkenbaar als traditionele toetsencombinaties voor bekende opdrachten. Ctrl+A is bijvoorbeeld toegewezen aan Alles selecteren en Ctrl+S is toegewezen aan Opslaan.

Het schema EMACS bevat een set toetskoppelingen die bekend zijn bij gebruikers van EMACS. Ctrl+X H is bijvoorbeeld toegewezen aan Alles selecteren en Ctrl+X S is toegewezen aan Opslaan.

Het is belangrijk dat u begrijpt waarom het schema Emacs een uitbreiding is op het schema Standaard. Het schema Emacs is geen volledige set koppelingen zoals het schema Standaard. Het schema Emacs maakt zoveel mogelijk gebruik van het schema Standaard, en er worden alleen expliciete EMACS-toetskoppelingen gedefinieerd als deze van het schema Standaard afwijken. In het algemeen worden er slechts aan bekende opdrachten, zoals Alles selecteren, Opslaan, enzovoort specifieke EMACS-toetsencombinaties toegewezen.

Kies welk schema u wilt gebruiken door de instelling 'Schema' op de voorkeurenpagina Toetsen te wijzigen. Als u het schema Standaard kiest, worden alle Emacs-koppelingen genegeerd. Als u het schema Emacs kiest, hebben expliciete Emacs-toetsencombinaties voorrang op eventuele strijdige toewijzingen in het schema Standaard.

Contexten

Toetskoppelingen kunnen op basis van de huidige context van Eclipse verschillen.

Soms kan het actieve gedeelte een Java-bestandseditor zijn, als een andere set toetsencombinatietoewijzingen bijvoorbeeld passender is dan wanneer het actieve gedeelte een HTML-bestandseditor is. Voorbeeld: een combinatie zoals Ctrl+B wordt in een context zoals het bewerken van JAVA-bestanden toegewezen aan Maken, terwijl een combinatie als Ctrl+B in een context zoals het bewerken van HTML-bestanden wordt toegewezen aan Tekst vet maken. Deze context wordt meestal bepaald door het actieve gedeelte, maar het kan ook worden beïnvloed door het actieve venster of dialoogvenster. Als er geen bepaalde context door het actieve gedeelte wordt gekozen, wordt de actieve context van de workbench ingesteld op In vensters.

Eclipse bevat negen verschillende contexten. Dit zijn:

Net als configuraties, kunnen contexten een uitbreiding zijn op andere contexten. Voorbeeld: de context Java-bron bewerken leent toetskoppelingen van de context Tekst bewerken die op zijn beurt toetskoppelingen leent van de context In vensters.

Opmerking: het wordt afgeraden om een toetskoppeling te verplaatsen naar een context die een uitbreiding op de context van deze toetsbinding is. Het wordt bijvoorbeeld afgeraden om een toetskoppeling van de context Tekst bewerken te verplaatsen naar de context In dialoogvensters en vensters. Dit kan tot onverwachte resultaten leiden.

Sommige toetskoppelingen kunnen in dialoogvensters worden gebruikt. Die toetskoppelingen worden toegewezen aan de context In dialoogvensters en vensters. Een voorbeeld van een dergelijke toetskoppeling is de toetskoppeling voor "knippen". U kunt deze toetskoppelingen wijzigen. U kunt bijvoorbeeld Ctrl+X gebruiken voor het knippen in dialoogvensters en Ctrl+W voor het knippen in vensters.

Platform en locale

Toetskoppelingen kunnen ook per platform en locale verschillen. Op het Macintosh-platform wordt Command+S toegewezen aan Opslaan, in plaats van het gebruikelijke Ctrl+S. In Chinese locales (zh) wordt Alt+/ toegewezen aan Contenthelp, in plaats van het gebruikelijke Ctrl+Space.

Het huidige platform en de huidige locale worden vastgesteld als Eclipse wordt gestart en blijven gedurende de Eclipse-instance onveranderd.

Toetskoppelingen aanpassen

Vanwege toetsencombinaties die uit meerdere toetsaanslagen bestaan, schema's en contexten moet u met veel zaken rekening houden als u toetskoppelingen aanpast. Om het eenvoudiger te maken, worden alle toetsaanpassingen uitgevoerd op de voorkeurenpagina Algemeen > Toetsen.

Voorkeurenpagina Toetsen waarbij EMACS als de actieve configuratie is opgegeven en de opdracht Sluiten is geselecteerd.

In dit voorbeeld is het schema EMACS gekozen en is de opdracht SLuiten uit de lijst met opdrachten gekozen. Informatie over deze opdracht, wordt samen met de huidige toetskoppelingen afgebeeld.

U kunt zien dat er aan Sluiten drie toetsencombinaties zijn toegewezen: Ctrl+F4 en Ctrl+W in het schema Standaard en Ctrl+X K in het schema Emacs. De schema's zijn beide toegewezen in de context In vensters. Als het schema door de gebruiker wordt ingesteld op Standaard, worden Ctrl+F4 en Ctrl+W toegewezen aan Sluiten en Ctrl+X K niet. Als u het schema echter instelt op Emacs wordt Ctrl+X K aan Sluiten toegewezen. Dat wil zeggen ook, omdat het schema EMACS ook toetskoppelingen leent van het schema Standaard. Ctrl+F4 en Ctrl+W worden dus ook toegewezen aan Sluiten op voorwaarde dat deze toetsbinding niet is toegewezen aan een andere opdracht in het schema Emacs. In dit voorbeeld is "Ctrl+W" toegewezen aan Knippen in het schema Emacs.

Onder de lijst met toetsencombinaties die zijn toegewezen aan Sluiten bevindt zich een gedeelte waar u toetskoppelingen kunt toevoegen of verwijderen. Standaard wordt de context In vensters geselecteerd.

Als u de toetsencombinatie Ctrl+W typt, wordt de knop Toevoegen ingeschakeld. Onder de knop Toevoegen wordt een lijst afgebeeld van alle opdrachten waaraan de toetsencombinatieCtrl+W al is toegewezen. U kunt zien dat Ctrl+W momenteel al is toegewezen aan de opdracht Knippen in de context In vensters en dialoogvensters.. Klik op de knop 'Toevoegen' om Ctrl+W toe te wijzen aan Sluiten.

De dynamische aard van de toetskoppelingen

Toetskoppelingen worden gedefinieerd door plugins en in Eclipse kunnen plugins worden toegevoegd of verwijderd. Hierdoor kunnen toetskoppelingen die van deze plugins afhankelijk zijn, worden toegevoegd of worden verwijderd. Uit voorzorg worden door Eclipse daarom aangepaste toetskoppelingen opgeslagen. Raadpleeg het bovenstaande voorbeeld waar Ctrl+Alt+W was toegewezen aan Knippen in het schema Emacs. Stel dat u een nieuwe plugin installeert waarmee Ctrl+Alt+W aan een bepaalde opdracht wordt toegewezen. De door u toegewezen toetsencombinatie voor Knippen blijft in Eclipse behouden.

Conflictoplossing

Er zijn slechts een beperkt aantal eenvoudige, algemene toetsaanslagen beschikbaar die aan een groot aantal opdrachten kunnen worden toegewezen. U hebt gezien dat u met schema's, contexten, platforms en locales de toewijzingen van toetsencombinaties kunt onderverdelen in domeinen waardoor onderlinge conflicten worden voorkomen. Bedenk wat er met Ctrl+B in het bovenstaande voorbeeld zou gebeuren als er geen contexten zouden bestaan. Met de ene plugin zou Ctrl+B worden toegewezen aan Maken terwijl met de andere plugin Ctrl+B zou worden toegewezen aan Tekst vet maken. Hoe wordt dit conflict door Eclipse opgelost?

Hoewel de kans op conflicten drastisch is beperkt vanwege het toepassen van de bovenstaande mechanismen, kunnen conflicten toch nog voorkomen. Twee plugins kunnen, onafhankelijk van elkaar, dezelfde toetsencombinatie toewijzen aan verschillende opdrachten met dezelfde context, schema, platform en locale. Stel dat door een plugin de toetsencombinatie Ctrl+F4 in de context In vensters en het schema Standaard is toegewezen aan een van de opdrachten. Dit levert een direct conflict op met Eclipse dat de combinatie Ctrl+F4 in dezelfde context en hetzelfde schema heeft toegewezen aan de opdracht Sluiten.

Dit is een conflict. Het zou niet juist zijn om beide opdrachten te gebruiken, en het zou ook niet juist zijn om gewoon maar een van de twee opdrachten te kiezen om de toetsaanslag te kunnen gebruiken. Het enige juiste wat u kunt doen, is beide toetskoppelingen negeren waardoor Ctrl+F4 volkomen onbruikbaar wordt in deze context en dit schema.

Dit soort conflicten kan worden opgelost door de toetsencombinatie expliciet aan een van beide opdrachten toe te wijzen.

Een ander soort conflict kan worden veroorzaakt door toetsencombinaties die uit meerdere toetsaanslagen bestaan. Het schema EMACS bevat bijvoorbeeld veel toetsencombinaties die uit meerdere toetsaanslagen bestaan en beginnen met de toetsaanslag Ctrl+X. Ctrl+X K is toegewezen aan Sluiten. Ctrl+X H is toegewezen aan Alles selecteren.

Zoals eerder al is opgemerkt, leent het schema Emacs toetskoppelingen van het schema Standaard. In het standaardschema is Ctrl+X toegewezen aan Knippen. Hoewel met het schema Emacs niet expliciet de combinatie Ctrl+X opnieuw wordt gedefinieerd, is het indrukken van Ctrl+X een vereist onderdeel voor veel toetskoppelingen van dit schema. Als u in het schema EMACS op Ctrl+X drukt, bent u halverwege met het invoeren van een van de vele toegewezen toetsencombinaties. Op dat moment verwacht u niet dat de actie Knippen wordt aangeroepen.

Voor dit soort conflict geldt dat de toetsencombinatie Ctrl+X die is toegewezen aan Knippen wordt genegeerd. Anders zou het niet mogelijk zijn om veel van de toetsbindingen in de configuratie EMACS te voltooien.

Verwante concepten
Toegankelijkheidsfuncties in Eclipse
De toetsbindingen wijzigen
Help

Verwante onderwerpen
Lettertype- en kleurinstellingen in Eclipse