Touches

Eclipse permet une personnalisation poussée du fonctionnement du clavier à l'aide de la page de préférences Général> Touches Page de préférences. Les raccourcis clavier et les séquences de touches sont associés à des commandes particulières.

Frappes de touches, séquences de touches et associations de touches

Un "raccourci clavier" consiste à appuyer sur une touche du clavier, tout en maintenant appuyée, le cas échéant, l'une des touches modificatrices suivantes : Ctrl, Alt (Option sur Macintosh), Maj ou Commande (sur Macintosh uniquement). Par exemple, appuyer sur la touche Ctrl et la maintenir enfoncée, puis appuyer sur A produit le raccourci clavier Ctrl+A. Actionnées seules, les touches modificatrices ne constituent pas des raccourcis clavier.

Une "séquence de touches" correspond à la frappe d'une ou de plusieurs touches. Habituellement, Emacs affecte des séquences de deux ou trois touches à des commandes particulières. Par exemple, la séquence de touches normale pour Fermer tout est Ctrl+X Ctrl+C dans Emacs. Pour entrer cette séquence de touches, vous devez taper Ctrl+X puis Ctrl+C. Eclipse prend en charge des séquences de touches dont la longueur est arbitraire, mais il est recommandé que les raccourcis clavier comportent au maximum quatre frappes de touches.

Une " association de touches" est l'affectation d'une séquence de touches à une commande.

Schemes

Un 'schéma' est un jeu d'associations. Eclipse comporte deux schémas :

Le schéma par Défaut comprend un jeu général d'associations, souvent connu comme des séquences de touches habituelles. Par exemple, Ctrl+A est affectée à Sélectionner tout, et Ctrl+S est affectée Enregistrer.

Le schéma Emacs comprend un jeu d'associations de touches familier aux utilisateurs d'Emacs. Par exemple, l'association Ctrl+X H est affectée à Sélectionner tout, et Ctrl+X S est affectée à Enregistrer.

Il est important de comprendre pourquoi le schéma Emacs est dit 'étendre le schéma par défaut'. Le schéma Emacs n'est pas un jeu complet d'associations comme le schéma par Défaut. Il emprunte plutôt au schéma par Défaut là où cela est possible, définissant seulement les associations explicites de style Emacs là où elles varient du schéma par Défaut. Seules les commandes courantes comme Sélectionner tous, Sauvegarder, etc., possèdent des séquences de touches Emacs.

Choisissez quel schéma est le plus confortable à utiliser en changeant le réglage 'Schéme' à partir de la page des préférences de touches. Si vous choisissez le schéma par Défaut, toutes les associations Emacs seront ignorées. Si vous choisissez le schéma Emacs, les affectations explicites des séquences de touches de style Emacs prévaudront sur toutes les affectations en conflit dans le schéma par Défaut.

Contextes

Les associations de touches peuvent varier selon le contexte en cours d'Eclipse.

Des séquences de touches similaires ont des effets différents selon que les éléments traités se trouvent dans un éditeur de fichier Java ou dans un éditeur de fichier html, par exemple. Ainsi, Ctrl+B est associée à Compiler dans un contexte d'édition de fichier Java, alors que Ctrl+B est affecté à Texte gras dans un contexte d'édition de fichier HTML. Ce contexte est généralement déterminé par l'élément actif, mais il peut également être influencé par la fenêtre ou boîte de dialogue active. Si l'élément actif ne choisit pas de contexte particulier, le workbench considérera que le contexte actif est Dans des fenêtres.

Eclipse comprend plusieurs contextes. En voici quelques exemples :

A l'instar des configurations, les contextes peuvent étendre d'autres contextes. Par exemple, le contexte Edition du code source Java emprunte des associations de touches au contexte Edition du texte, qui, à son tour, emprunte des associations de touches au contexte Dans des fenêtres.

Remarque : il est déconseillé de faire progresser une association de touches à un contexte que celle-ci étend. Par exemple, il n'est pas conseillé de déplacer une association de touches Edition du texte au contexte Dans des boîtes de dialogue ou des fenêtres. Cela risque de générer des résultats imprévus.

Il est possible que certaines associations de touches fonctionnent dans des boîtes de dialogue. Ces associations de touches sont affectées au contexte Dans des boîtes de dialogue ou des fenêtres. Il s'agit, par exemple, de l'association de touches correspondant à "Couper". Il est possible de modifier ces associations de touches. Par exemple, la fonction Couper correspond à Ctrl+X dans des boîtes de dialogue et à Ctrl+W dans des fenêtres.

Plateforme et environnement local

Les associations de touches peuvent également varier selon la plateforme et l'environnement local. Sur Macintosh, Commande+S est associée à Sauvegarder, l'équivalent Windows est Ctrl+S. Avec les paramètres de langue chinoise (zh), Alt+/ est associée à Assistant de contenu, en lieu et place de Ctrl+espace.

Les paramètres de plateforme et les paramètres régionaux sont chargés une fois pour toutes lors du démarrage d'Eclipse (ils ne peuvent varier lors de la session en cours).

Personnalisation d'associations de touches

Avec les séquences de touches multiples, les schémas et les contextes, il y a plusieurs choses à garder à l'esprit en personnalisant les associations de touches. Pour simplifier, cette activité est centralisée dans la page de préférences Général > Touches.

Page de préférence Touches  - commande About sans association

Dans cet exemple, nous voulons associer CTRL+5 à la commande About. Par défaut, la page de préférence Touche vous affichera toutes les associations de touches possibles. La commande About est répertoriée dans la catégorie Aide. Vous pouvez associer la commande en la mettant en évidence dans la zone de texte Association et en appuyant sur CTRL et 5, comme vous le feriez si vous exécutiez la commande.

Page de préférence Touche - commande About associée à CTRL+5

Lorsque vous saisissez CTRL+5, vous avez créé une association pour About. La lettre U située dans la colonne la plus à droite indique qu'il s'agit d'une association utilisateur. En cas de conflit avec une autre touche, cette colonne contient également la lettre C. L'association sera dans le contexte par défaut, "Dans Windows". Vous pouvez maintenant utiliser la zone de liste déroulante pour modifier le contexte d'association de touche (par exemple, pour déplacer cette association sur "Edition de texte").

Si vous vouliez ajouter une deuxième association de touches sur About, vous pouvez utiliser le bouton Copier la commande pour créer une deuxième entrée de commande à laquelle associer une autre touche. Si vous voulez supprimer une association, vous pouvez utiliser le bouton Supprimer l'association ou simplement mettre en évidence la zone de texte Association et appuyer sur la touche Espacement arrière.

Caractère dynamique des associations de touches

Les associations de touches sont fournies par des plug-ins qui, dans Eclipse, peuvent être ajoutés ou supprimés. Ces associations déclarées par des plug-ins peuvent être également ajoutées ou supprimées. Eclipse enregistre les associations de touches personnalisées afin de compenser cette situation. Considérez l'exemple ci-dessus où l'association CTRL+6 a été affectée à About dans le schéma Default. Supposons que vous installiez un nouveau plug-in qui affecte CTRL+6 à une commande particulière. Eclipse conservera votre affectation à About.

Résolution de conflits

Il n'existe qu'un nombre limité d'associations de touches simples à affecter à une multitude de commandes. Nous avons vu que schéma, contexte, plateforme et locale partitionnent les affectations des séquences de touches en domaines là où elles ne sont pas en conflit les unes avec les autres. Prenons le cas du raccourci Ctrl+B si les contextes n'existent pas. Un plugin pourrait affecter Ctrl+B à Compiler, un autre affecterait le raccourci Ctrl+B à Gras. Comment Eclipse résoudrait ce conflit ?

Bien que réduits au minimum par les mécanismes décrits précédemment, de tels conflits peuvent se produire. Deux plugins, indépendants l'un de l'autre, peuvent affecter la même séquence de touches à deux commandes différentes avec le même contexte, schéma, plateforme et environnement local. Considérez le cas où un plugin affecte Ctrl+F4 dans le contexte Dans fenêtres et le schéma par Défaut à l'une de ses commandes. Ceci rentre directement en conflit avec l'affectation Eclipse de Ctrl+F4 à la commande Fermer dans les mêmes contexte et schéma.

Voici le problème. Il serait impossible d'appeler les deux commandes, ni de choisir quelle commande recevrait la séquence de touches. Nous faisons apparaître la boîte de dialogue de l'Assistance des Touches avec les commandes conflictuelles et autorisons l'utilisateur à en sélectionner une. La boîte de dialogue de l'Assistance des Touches est la même boîte de dialogue qui affiche les choix de commande plus plusieurs associations de touches. Par exemple, si deux commandes ont été associées à F12 vous pouvez voir :

Boîte de dialogue d'Assistance des Touches

Si l'utilisateur définit une association de touche et crée un conflit, le programme affiche les associations en cause dans la liste des conflits. Ce système permet de passer d'une de ces associations à l'autre pour apporter des modifications.

Page de préférences Touches - liste des conflits

Vous pouvez résoudre ces types de conflit en affectant explicitement la séquence de touches à l'une des commandes, ou en la supprimant de l'autre.

Un conflit d'un autre type peut être généré par des séquences comprenant plusieurs caractères alphanumériques. Par exemple, dans le schéma Emacs, il y a plusieurs séquences d'associations de touches multiples commençant par les touches Ctrl+X. L'association Ctrl+X K est affectée à Fermer. Ctrl+X H est affectée à Sélectionner tout.

Comme mentionné précédemment, le schéma Emacs emprunte des associations de touches au schéma par Défaut. Dans le schéma par défaut, l'association Ctrl+X est affectée à Couper. Même si le schéma Emacs ne redéfinit pas explicitement Ctrl+X, appuyer sur Ctrl+X reste nécessaire comme partie de plusieurs de ses associations de touches. Dans le schéma Emacs, lorsque vous appuyez sur Ctrl+X, vous êtes à mi-chemin de plusieurs séquences de touches affectées possibles. L'utilisateur ne s'attend pas à ce que la commande Couper s'exécute à ce moment-là.

Dans ce type de conflit, la règle indiquant que Ctrl+X est affectée à Couper sera ignorée. Autrement, il serait impossible d'utiliser un grand nombre d'associations de touches de la configuration Emacs.

Concepts connexes
Fonctions d'accessibilité dans Eclipse
Modification des associations de touches
Aide

Références connexes
Paramètres de polices et de couleurs dans Eclipse