Tasten

Die Funktion der Tastatur kann in Eclipse intensiv angepasst werden. Innerhalb von Eclipse sind Tastenanschläge und Tastenkombinationen dem Aufrufen von bestimmten Befehlen zugeordnet.

Tastenanschläge, Tastenkombinationen und Tastenbelegungen

Ein "Tastenanschlag" besteht aus dem Drücken einer Taste auf der Tastatur, wobei optional eine oder mehrere der folgenden Kombinationstasten gedrückt gehalten werden können: Strg, Alt (Option bei Macintosh), Umschalttaste oder Befehl (nur bei Macintosh.) Wenn Sie beispielsweise die Taste Strg gedrückt halten und dann die Taste A drücken, entsteht der Tastenanschlag Strg+A. Das Drücken der Kombinationstasten selbst stellt keinen Tastenanschlag dar.

Eine Tastenkombination besteht aus einem oder mehreren Tastenanschlägen. Emacs ordnet traditionell zwei oder mehr Tastenkombinationen aus Tastenanschlägen zu bestimmten Befehlen zu. Die normale Tastenkombination, die in Emacs dem Befehl Alle schließen zugeordnet ist, ist Strg+X Strg+C. Zur Eingabe dieser Tastenkombination muss der Tastenanschlag Strg+X und dann der TastenanschlagStrg+C gedrückt werden. Obschon Eclipse Tastenkombinationen beliebiger Länge unterstützt, wird empfohlen, die Länge eines Direktaufrufs über die Tastatur auf Tastenbetätigungen (oder weniger) zu beschränken.

Eine "Tastenbelegung" ist die Zuordnung einer Tastenkombination zu einem Befehl.

Schemen

Eine 'Schema' ist eine Gruppe von Tastenbelegungen. Eclipse enthält zwei Schemen:

Das Schema Standard enthält einen allgemeinen Satz an Tastenbelegungen, der dem Benutzer in vielen Fällen als traditionelle Tastenkombination bekannt ist. Beispielsweise ist die Kombination Strg+A dem Befehl Alles auswählen zugeordnet und Strg+S ist dem Befehl Speichern zugeordnet.

Das Emacs-Schema enthält einen Satz an Tastenbelegungen, mit dem der Benutzer von Emacs vertraut ist. Beispielsweise ist die Kombination Strg+X H dem Befehl Alles auswählen und die Kombination Strg+X S dem Befehl Speichern zugeordnet.

An dieser Stelle muss unbedingt erläutert werden, warum das Schema Emacs als 'Erweiterung' von 'Standard' gilt. Bei dem Schema Emacshandelt es sich nicht um einen kompletten Satz an Tastenbelegungen, wie bei dem Schema Standard. Es übernimmt vielmehr, wo möglich, die für dieses Schema gültigen Elemente aus dem Schema Standard und definiert nur in den Fällen explizite emacs-Tastenbelegungen, in denen Abweichungen zum Schema Standard gegeben sind. Im Allgemeinen sind nur den gängigsten Befehlen wie Alles auswählen, Speichern usw. spezifische emacs-Tastenkombinationen zugeordnet.

Der Benutzer entscheidet, welches Schema für ihn am passendsten ist, indem er die Einstellung 'Schema' auf der Benutzervorgabenseite 'Tasten' ändert. Wenn der Benutzer das Schema Standard auswählt, werden alle Tastenbelegungen aus Emacs ignoriert. Wählt er hingegen das Schema Emacs aus, haben explizite emacs-Tastenkombinationen Vorrang vor allen entsprechenden Zuordnungen in dem Schema Standard.

Kontexte

Tastenbelegungen können abhängig vom aktuellen Eclipse-Kontext variieren.

Wenn eine aktive Komponente beispielsweise ein Editor für Java-Dateien ist, kann unter Umständen eine andere Zuordnungsgruppe von Tastenkombinationen geeignet sein als bei einem Editor für HTML-Dateien. Normalerweise ist z. B. die Kombination Strg+B im Kontext für die Bearbeitung einer Java-Datei dem Befehl Erstellen zugeordnet, im Kontext für die Bearbeitung einer HTML-Datei hingegen dem Befehl Fettschrift. Dieser Kontext wird üblicherweise durch die aktive Komponente festgelegt, er kann aber auch durch das aktive Fenster oder den Dialog beeinflusst werden. Wenn die aktive Komponente keinen bestimmten Kontext auswählt, legt die Workbench den aktiven Kontext auf In Windows fest.

Eclipse enthält neun verschiedene Kontexte. Dabei handelt es sich um folgende:

Ganz ähnlich wie Konfigurationen können auch Kontexte andere Kontexte erweitern. Der Kontext Java-Quelle bearbeiten übernimmt beispielsweise Tastenbelegungen aus dem Kontext Text bearbeiten, der wiederum Tastenbelegungen aus dem Kontext In Fenstern übernimmt.

Hinweis: Es wird nicht empfohlen, eine Tastenbelegung in einen Kontext hochzustufen, der sie erweitert. Zum Beispiel wird nicht empfohlen, die Tastenbelegung Text bearbeiten in den Kontext In Dialogen und Fenstern zu verschieben. Dies kann unerwartete Folgen haben.

Es ist möglich, dass einige Tastenbelegungen in Dialogen funktionieren. Diese Tastenbelegungen sind dem Kontext In Dialogen und Fenstern zugeordnet. Ein Beispiel für eine solche Tastenbelegung ist die Tastenbelegung für "Ausschneiden". Es ist möglich, diese Tastenbelegungen zu ändern. So ist es zum Beispiel möglich, Strg+X als 'Ausschneiden' in Dialogen aber Strg+W als 'Ausschneiden' in Fenstern zu haben.

Plattform und Ländereinstellung

Tastenbelegungen variieren je nach Plattform und Ländereinstellung. Auf der Macintosh-Plattform ist dem Befehl Speichern anstelle der üblichen Kombination Strg+S die Kombination Befehl+S zugeordnet. Bei Ländereinstellungen für Chinesisch (zh) ist dem Befehl Unterstützung für Inhalt anstelle der üblichen Kombination Strg+Leertaste die Kombination Alt+/ zugeordnet.

Die aktuelle Plattform und Ländereinstellung wird beim Start von Eclipse ermittelt und ändert sich während der Verwendungsdauer eines Eclipse-Exemplars nicht.

Tastenbelegungen anpassen

Bei der Anpassung von Tastenbelegungen müssen aufgrund von mehrteiligen Tastenkombinationen, Schemen und Kontexten viele Punkte berücksichtigt werden. Zur Vereinfachung wird die gesamte Tastenanpassung auf der Benutzervorgabenseite "Tasten" vorgenommen.

Wählen Sie die Optionen Fenster > Benutzervorgaben > Allgemein > Tasten aus, um die Benutzervorgabenseite 'Tasten' zu öffnen.

Benutzervorgabenseite 'Tasten' mit aktiver Konfiguration 'Emacs' und ausgewähltem Befehl 'Schließen'

In diesem Beispiel wurde Emacs als aktives Schema und der Befehl Schließen in der Liste der Befehle ausgewählt. Es werden Informationen über diesen Befehl, zusammen mit deiner aktuellen Tastenbelegung, gegeben.

Bitte beachten Sie, dass dem Befehl Schließen drei Tastenkombinationen zugeordnet sind:Strg+F4 und Strg+W in dem Schema Standard und Strg+X K in dem Schema Emacs. Beide Kombinationen sind dem Kontext In Fenstern zugeordnet. Wenn der Benutzer daher das aktive Schema auf Standard setzt, wird Strg+F4 und Strg+W dem Befehl Schließen zugeordnet, während das bei Strg+X K nicht der Fall ist. Setzt der Benutzer das aktive Schema jedoch aufEmacs wird die KombinationStrg+X K dem Befehl Schließen zugeordnet. Da die Konfiguration Emacs aber auch Tastenbelegungen aus dem Schema Standard übernimmt, wird auch die Kombination Strg+F4 und Strg+W dem Befehl Schließen zugeordnet, sofern diese Tastenbelegungen in dem Schema Emacs nicht einem anderen Befehl zugeordnet sind. In diesem Beispiel ist "Strg+W" dem Befehl Ausschneiden in dem Emacs-Schema zugeordnet.

Unterhalb der Liste mit den Tastenkombinationen, die dem Befehl Schließen zugeordnet ist, befindet sich ein Bereich, in dem Sie Tastenbelegungen hinzufügen oder entfernen können. Als Standardeinstellung wird der Kontext In Fenstern ausgewählt.

Wenn Sie die Tastenkombination Strg+W eingeben, wird die Schaltfläche "Hinzufügen" aktiviert. Außerdem wird unter der Schaltfläche "Hinzufügen" eine Liste mit allen Befehlen angezeigt, denen bereits die Kombination Strg+W zugeordnet wurde. Sie können feststellen, dass Strg+W gegenwärtig dem Befehl Ausschneiden in dem Kontext In Fenstern und Dialogen zugeordnet ist. Wenn Sie nun auf die Schaltfläche "Hinzufügen" klicken, wird Strg+W dem Befehl Schließen zugeordnet.

Dynamischer Charakter von Tastenbelegungen

Tastenbelegungen werden durch Plug-ins bereitgestellt, und in Eclipse können Plug-ins hinzugefügt und entfernt werden. Dies kann dazu führen, dass Tastenbelegungen, die durch Plug-ins deklariert werden, hinzugefügt oder entfernt werden. Eclipse speichert angepasste Tastenbelegungen auf eine Weise, die diesen Umstand kompensiert. Angenommen, Sie würden im vorstehenden Beispiel die Kombination Strg+Alt+W dem Befehl Ausschneiden in dem Schema Emacs zuordnen, und der Benutzer würde anschließend ein neues Plug-in installieren, das die Kombination Strg+Alt+W einem bestimmten Befehl zuordnet. Eclipse behält die Zuordnung des Benutzers zum Befehl Ausschneiden bei.

Konfliktlösung

Es gibt nur eine begrenzte Anzahl von einfachen und häufig verwendeten Tastenanschlägen, die einer Vielzahl von Befehlen zugeordnet sein können. Wie bereits erläutert partitionieren das Schema, der Kontext, die Plattform und die Ländereinstellung Tastenkombinationszuordnungen in Domänen, in denen sie nicht miteinander im Konflikt stehen. Stellen Sie sich zur Veranschaulichung vor, dass die oben beschriebene Kombination Strg+B ohne das Vorhandensein von Kontexten verwendet würde. Ein Plug-in würde Strg+B zum Befehl Erstellen zuordnen, und ein anderes Plug-in würde Strg+B zum Befehl Fettschrift zuordnen. Wie könnte Eclipse diesen Konflikt richtig auflösen?

Konflikte werden durch die oben beschriebenen Mechanismen zwar drastisch reduziert, aber nicht gänzlich ausgeschlossen. Zwei voneinander unabhängige Plug-ins könnten dieselbe Tastenkombination zu unterschiedlichen Befehlen mit denselben Werten für Kontext, Schema, Plattform und Ländereinstellung zuordnen. Angenommen, ein Plug-in würde Strg+F4 in dem Kontext In Fenstern und in dem Schema Standard einem seiner Befehle zuordnen. Dies stünde in direktem Konflikt mit der Eclipse-eigenen Zuordnung vonStrg+F4 zum Befehl "Schließen", die für denselben Geltungsbereich und dasselbe Schema gültig wäre.

Dies ist ein Konflikt. Das Aufrufen beider Befehle ist in einem solchen Fall ebensowenig eine Lösung wie die Auswahl lediglich eines der Befehle für den Tastenanschlag. Die einzig richtige Lösung ist es, beide Tastenbelegungen zu ignorieren und die Kombination Strg+F4 in diesem Kontext und diesem Schema letztlich unwirksam zu machen.

Solche Konflikte können dadurch aufgelöst werden, dass der Benutzer die Tastenkombination explizit zu einem der Befehle zuordnet.

An anderer Konflikt kann durch Tastenkombinationen mit mehreren Tastenanschlägen entstehen. In dem Schema Emacs gibt es beispielsweise viele Tastenkombinationen mit mehreren Tastenanschlägen, die mit dem Tastenanschlag Strg+X beginnen. Strg+X K ist dem Befehl Schließen zugeordnet. Strg+X H ist dem Befehl Alles auswählen zugeordnet.

Wie bereits erläutert übernimmt das Schema Emacs Tastenbelegungen aus dem Schema Default. In dem Schema 'Standard' ist Strg+X dem Befehl Ausschneiden zugeordnet. Obwohl das Schema Emacs die Kombination Strg+X nicht explizit neu definiert, ist das Drücken von Strg+X bei vielen Tastenbelegungen in diesem Schema erforderlich. Wenn der Benutzer in dem Schema Emacs die Tasten Strg+X drückt, wird auf diese Weise die Hälfte vieler möglicher Tastenkombinationen eingegeben. Ein Aufruf der Aktion Ausschneiden wäre zu diesem Zeitpunkt unerwartet.

Bei einem solchen Konflikt gilt die Regel, dass die Tastenkombination Strg+X, die dem Befehl Ausschneiden zugeordnet ist, ignoriert wird. Andernfalls wäre es nicht möglich, viele Tastenbelegungen in der Konfiguration Emacs zu verwenden.

Verwandte Konzepte
Eingabehilfen in Eclipse
Tastaturbelegungen ändern
Onlinehilfefunktion

Verwandte Referenzen
Schriftart- und Farbeinstellungen in Eclipse