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 Environnement options>des outils>, sélectionnez Clavier.

  2. Assurez-vous que l’utilisation du nouveau raccourci est définie 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, le raccourci actuellement utilisé par la zone affiche 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, le raccourci actuellement utilisé par la zone 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 et id les guid attributs 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 et key2 les mod2 attributs.

    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 sur le editor nom de l’éditeur personnalisé généré par le modèle de package Visual Studio lorsque vous avez créé le VSPackage qui inclut l’éditeur personnalisé. Pour rechercher la valeur du nom, recherchez dans la section un nœud dont name l’attribut <Symbols> se termine par «editorfactory ».<GuidSymbol> 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="guidVSStd97" id="cmdidBold" editor="guidTestEditorEditorFactory" key1="B" mod1="Control" />