Lier des raccourcis clavier aux éléments de menuBind keyboard shortcuts to menu items

Pour lier un raccourci clavier à une commande de menu personnalisé, il suffit d’ajouter une entrée à la .vsct fichier pour le package.To bind a keyboard shortcut to a custom menu command, just add an entry to the .vsct file for the package. Cette rubrique explique comment mapper un raccourci clavier pour un bouton personnalisé, un élément de menu ou une commande de barre d’outils et comment appliquer le mappage du clavier dans l’éditeur par défaut ou de limiter à un éditeur personnalisé.This topic explains how to map a keyboard shortcut to a custom button, menu item, or toolbar command, and how to apply the keyboard mapping in the default editor or limit it to a custom editor.

Pour affecter des raccourcis clavier aux éléments de menu de Visual Studio existants, consultez identifier et personnaliser les raccourcis clavier.To assign keyboard shortcuts to existing Visual Studio menu items, see Identify and customize keyboard shortcuts.

Choisissez une combinaison de touchesChoose a key combination

De nombreux raccourcis clavier sont déjà utilisés dans Visual Studio.Many keyboard shortcuts are already used in Visual Studio. Vous ne devez pas attribuer le même raccourci à plusieurs commandes, car les liaisons en double sont difficiles à détecter et peuvent également provoquer des résultats imprévisibles.You should not assign the same shortcut to more than one command because duplicate bindings are hard to detect and may also cause unpredictable results. Par conséquent, il est judicieux de vérifier la disponibilité d’un raccourci avant de l’affecter.Therefore, it is a good idea to verify the availability of a shortcut before you assign it.

Pour vérifier la disponibilité d’un raccourci clavierTo verify the availability of a keyboard shortcut

  1. Dans le outils > Options > environnement fenêtre, sélectionnez clavier.In the Tools > Options > Environment window, select Keyboard.

  2. Assurez-vous que l’option utiliser un nouveau raccourci dans a la valeur Global.Make sure that Use new shortcut in is set to Global.

  3. Dans le appuyez sur les touches de raccourci , tapez le raccourci clavier que vous souhaitez utiliser.In the Press shortcut keys box, type the keyboard shortcut that you want to use.

    Si le raccourci est déjà utilisé dans Visual Studio, le raccourci actuellement utilisé par zone affiche la commande de raccourci appelle actuellement.If the shortcut is already used in Visual Studio, the Shortcut currently used by box will show the command that the shortcut currently calls.

  4. Essayez différentes combinaisons de touches jusqu'à ce que vous trouvez un qui n’est pas mappé.Try different combinations of keys until you find one that is not mapped.

    Note

    Raccourcis clavier qui utilisent Alt peut ouvrir un menu et n’exécute pas directement une commande.Keyboard shortcuts that use Alt may open a menu and not directly execute a command. Par conséquent, le raccourci actuellement utilisé par zone peut être vide lorsque vous tapez un raccourci qui inclut Alt. Vous pouvez vérifier que le raccourci ne s’ouvre pas un menu en fermant le Options boîte de dialogue et en appuyant sur les clés.Therefore, the Shorcut currently used by box may be blank when you type a shortcut that includes Alt. You can verify that the shortcut does not open a menu by closing the Options dialog box and then pressing the keys.

    La procédure suivante suppose que vous disposez d’un VSPackage existant avec une commande de menu.The following procedure assumes that you have an existing VSPackage with a menu command. Si vous avez besoin d’aide pour y parvenir, jetez un coup de œil à créer une extension avec une commande de menu.If you need help doing that, take a look at Create an extension with a menu command.

Pour affecter un raccourci clavier à une commandeTo assign a keyboard shortcut to a command

  1. Ouvrez le .vsct fichier pour votre package.Open the .vsct file for your package.

  2. Créer un vide <KeyBindings> section après le <Commands> si elle n’est pas déjà présent.Create an empty <KeyBindings> section after the <Commands> if it is not already present.

    Warning

    Pour plus d’informations sur les combinaisons de touches, consultez Keybinding.For more information about key bindings, see Keybinding.

    Dans le <KeyBindings> section, créez un <KeyBinding> entrée.In the <KeyBindings> section, create a <KeyBinding> entry.

    Définir le guid et id attributs à ceux de la commande que vous souhaitez appeler.Set the guid and id attributes to those of the command you want to invoke.

    Définir le mod1 attribut contrôle, Alt, ou MAJ.Set the mod1 attribute to Control, Alt, or Shift.

    La section de combinaisons de touches doit ressembler à ceci :The KeyBindings section should look something like this:

    <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 clés, définissez le mod2 et key2 attributs.If your keyboard shortcut requires more than two keys, set the mod2 and key2 attributes.

    Dans la plupart des situations, MAJ ne doit pas être utilisé sans un modificateur deuxième car en appuyant sur déjà entraîne la plupart des touches d’alphanumériques à taper une lettre majuscule ou un symbole.In most situations, Shift should not be used without a second modifier because pressing it already causes most alphanumeric keys to type an uppercase letter or a symbol.

    Codes de touche virtuelle vous permettent d’accéder à des touches spéciales qui n’ont pas un caractère qui s’y rapportent, par exemple, les touches de fonction et le retour arrière clé.Virtual-key codes let you access special keys that do not have a character associated with them, for example, function keys and the Backspace key. Pour plus d’informations, consultez codes de touche virtuelle.For more information, see Virtual-key codes.

    Pour rendre la commande disponible dans Visual Studio éditeur, définissez le editor attribut guidVSStd97.To make the command available in the Visual Studio editor, set the editor attribute to guidVSStd97.

    Pour rendre la commande disponible uniquement dans un éditeur personnalisé, définissez la editor nom à l’attribut de l’éditeur personnalisé qui a été généré par le Visual StudioVisual Studio modèle de Package lorsque vous avez créé le package Visual Studio qui inclut l’éditeur personnalisé.To make the command available only in a custom editor, set the editor attribute to the name of the custom editor that was generated by the Visual StudioVisual Studio Package Template when you created the VSPackage that includes the custom editor. La valeur du nom, cherchez dans le <Symbols> section pour un <GuidSymbol> nœud dont name attribut se termine par «editorfactory. » Il s’agit du nom de l’éditeur personnalisé.To find the name value, look in the <Symbols> section for a <GuidSymbol> node whose name attribute ends in "editorfactory." This is the name of the custom editor.

ExempleExample

Cet exemple lie le raccourci clavier Ctrl+Alt+C à une commande nommée cmdidMyCommand dans un package nommé MyPackage.This example binds the keyboard shortcut Ctrl+Alt+C to a command named cmdidMyCommand in a package named MyPackage.

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

ExempleExample

Cet exemple lie le raccourci clavier Ctrl+B à une commande nommée cmdidBold dans un projet nommé TestEditor.This example binds the keyboard shortcut Ctrl+B to a command named cmdidBold in a project named TestEditor. La commande est disponible uniquement dans l’éditeur personnalisé et pas d’autres éditeurs.The command is available only in the custom editor and not in other editors.

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

Voir aussiSee also

Extension des menus et commandesExtending menus and commands