Lier des raccourcis clavier aux éléments de menu

Pour lier un raccourci clavier à une commande de menu personnalisée, ajoutez simplement une entrée au fichier .vsct pour le package. Cette rubrique explique comment mapper un raccourci clavier à un bouton personnalisé, un élément de menu ou une commande de barre d’outils, et comment appliquer le mappage de clavier dans l’éditeur par défaut ou le limiter à un éditeur personnalisé.

Pour affecter des raccourcis clavier à des éléments de menu Visual Studio existants, consultez Identifier et personnaliser les raccourcis clavier.

Choisir une combinaison de touches

De nombreux raccourcis clavier sont déjà utilisés dans Visual Studio. Vous ne devez pas affecter le même raccourci à plusieurs commandes, car les liaisons en double sont difficiles à détecter et peuvent également entraîner des résultats imprévisibles. Par conséquent, il est judicieux de vérifier la disponibilité d’un raccourci avant de l’affecter.

Pour vérifier la disponibilité d’un raccourci clavier

  1. Dans la fenêtre Outils>Options environnement>, sélectionnez Clavier.

  2. Assurez-vous que Utiliser un nouveau raccourci dans est défini sur Global.

  3. Dans la zone Appuyer sur les touches de raccourci , tapez le raccourci clavier que vous souhaitez utiliser.

    Si le raccourci est déjà utilisé dans Visual Studio, la boîte actuellement utilisée par affichera la commande que le raccourci appelle actuellement.

  4. Essayez différentes combinaisons de clés jusqu’à ce que vous trouviez celle qui n’est pas mappée.

    Remarque

    Les raccourcis clavier qui utilisent Alt peuvent ouvrir un menu et ne pas exécuter directement une commande. Par conséquent, la case Raccourci actuellement utilisé par peut être vide lorsque vous tapez un raccourci incluant Alt. Vous pouvez vérifier que le raccourci n’ouvre pas de menu en fermant la boîte de dialogue Options, puis en appuyant sur les touches.

    La procédure suivante suppose que vous disposez d’un VSPackage existant avec une commande de menu. Si vous avez besoin d’aide pour cela, consultez Créer une extension avec une commande de menu.

Pour affecter un raccourci clavier à une commande

  1. Ouvrez le fichier .vsct pour votre package.

  2. Créez une section vide <KeyBindings> après celle-ci <Commands> si elle n’est pas déjà présente.

    Avertissement

    Pour plus d’informations sur les liaisons de clés, consultez Keybinding.

    Dans la <KeyBindings> section, créez une <KeyBinding> entrée.

    Définissez les attributs guid et id sur ceux de la commande que vous souhaitez appeler.

    Définissez l’attribut mod1 sur Control, Alt ou Maj.

    La section KeyBindings doit ressembler à ceci :

    <KeyBindings>
        <KeyBinding guid="<name of command set>" id="<name of command id>"
            editor="guidVSStd97" key1="1" mod1="CONTROL"/>
    </KeyBindings>
    
    

    Si votre raccourci clavier nécessite plus de deux touches, définissez les attributs mod2 et key2.

    Dans la plupart des cas, Shift ne doit pas être utilisé sans deuxième modificateur, car le fait d’appuyer dessus entraîne déjà la plupart des touches alphanumériques à taper une lettre majuscule ou un symbole.

    Les codes de clé virtuelle vous permettent d’accéder à des clés spéciales qui n’ont pas de caractère associé à ces clés, par exemple les touches de fonction et la clé Backspace . Pour plus d’informations, consultez les codes de clé virtuelle.

    Pour rendre la commande disponible dans l’éditeur Visual Studio, définissez l’attribut editor sur guidVSStd97.

    Pour rendre la commande disponible uniquement dans un éditeur personnalisé, définissez l'attribut editor sur le nom de l’éditeur personnalisé qui a été généré par le modèle de package de Visual Studio lorsque vous avez créé le VSPackage qui inclut cet éditeur personnalisé. Pour rechercher la valeur du nom, recherchez dans la section <Symbols> un nœud dont <GuidSymbol> l’attribut name se termine par « editorfactory ». Il s’agit du nom de l’éditeur personnalisé.

Exemple 1

Cet exemple lie le raccourci clavier Ctrl+Alt+C à une commande nommée cmdidMyCommand dans un package nommé MyPackage.

<CommandTable>
. . .
<Commands>
. . .
</Commands>
<KeyBindings>
  <KeyBinding guid="guidMyPackageCmdSet" id="cmdidMyCommand"
      key1="C" mod1="CONTROL" mod2="ALT" editor="guidVSStd97" />
</KeyBindings>
. . .
</CommandTable>

Exemple 2

Cet exemple lie le raccourci clavier Ctrl+B à une commande nommée cmdidBold dans un projet nommé TestEditor. La commande est disponible uniquement dans l’éditeur personnalisé et non dans d’autres éditeurs.

<KeyBinding guid="guidTestEditorEditorFactory" id="cmdidBold" editor="guidVSStd97" key1="B" mod1="Control" />