Enlazar métodos abreviados de teclado a elementos de menúBind keyboard shortcuts to menu items

Para enlazar un método abreviado de teclado a un comando de menú personalizado, simplemente agregue una entrada para el .vsct archivo para el paquete.To bind a keyboard shortcut to a custom menu command, just add an entry to the .vsct file for the package. En este tema se explica cómo asignar un método abreviado de teclado a un botón personalizado, el elemento de menú o el comando de barra de herramientas y cómo aplicar la asignación de teclado en el editor predeterminado o limitarlos a un editor personalizado.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.

Para asignar métodos abreviados de teclado a elementos de menú de Visual Studio existentes, consulte identificar y personalizar métodos abreviados de teclado.To assign keyboard shortcuts to existing Visual Studio menu items, see Identify and customize keyboard shortcuts.

Elija una combinación de teclasChoose a key combination

Ya se usan muchos métodos abreviados de teclado en Visual Studio.Many keyboard shortcuts are already used in Visual Studio. No debe asignar el mismo método abreviado a más de un comando como enlaces duplicados son difíciles de detectar y también pueden producir resultados imprevisibles.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. Por lo tanto, es una buena idea comprobar la disponibilidad de un acceso directo antes de asignarlo.Therefore, it is a good idea to verify the availability of a shortcut before you assign it.

Para comprobar la disponibilidad de un método abreviado de tecladoTo verify the availability of a keyboard shortcut

  1. En el herramientas > opciones > entorno ventana, seleccione teclado.In the Tools > Options > Environment window, select Keyboard.

  2. Asegúrese de que usar nuevo método abreviado en está establecido en Global.Make sure that Use new shortcut in is set to Global.

  3. En el presione las teclas de método abreviado , escriba el método abreviado de teclado que desea usar.In the Press shortcut keys box, type the keyboard shortcut that you want to use.

    Si el acceso directo ya se usa en Visual Studio, el método abreviado lo utiliza actualmente cuadro mostrará el comando que llama el acceso directo a actualmente.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. Probar diferentes combinaciones de claves hasta que encuentre uno que no está asignado.Try different combinations of keys until you find one that is not mapped.

    Note

    Métodos abreviados que se usen de teclado Alt puede abrir un menú y no directamente ejecutar un comando.Keyboard shortcuts that use Alt may open a menu and not directly execute a command. Por lo tanto, el método abreviado lo utiliza actualmente cuadro puede estar en blanco cuando se escribe un método abreviado que incluye Alt. Puede comprobar que el acceso directo no abre un menú al cerrar la opciones cuadro de diálogo y, a continuación, presione las teclas.Therefore, the Shortcut 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.

    El siguiente procedimiento se supone que tiene un VSPackage existente con un comando de menú.The following procedure assumes that you have an existing VSPackage with a menu command. Si necesita ayuda sobre cómo hacerlo, eche un vistazo a crear una extensión con un comando de menú.If you need help doing that, take a look at Create an extension with a menu command.

Para asignar un método abreviado de teclado a un comandoTo assign a keyboard shortcut to a command

  1. Abra el .vsct archivo para el paquete.Open the .vsct file for your package.

  2. Crear vacío <KeyBindings> sección después de la <Commands> si aún no está presente.Create an empty <KeyBindings> section after the <Commands> if it is not already present.

    Warning

    Para obtener más información acerca de los enlaces de teclado, consulte Keybinding.For more information about key bindings, see Keybinding.

    En el <KeyBindings> , debe crearse un <KeyBinding> entrada.In the <KeyBindings> section, create a <KeyBinding> entry.

    Establecer el guid y id atributos a los del comando que desea invocar.Set the guid and id attributes to those of the command you want to invoke.

    Establecer el mod1 atributo Control, Alt, o MAYÚS.Set the mod1 attribute to Control, Alt, or Shift.

    La sección de enlaces de teclado debe tener un aspecto similar al siguiente: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 el método abreviado de teclado requiere más de dos claves, establezca el mod2 y key2 atributos.If your keyboard shortcut requires more than two keys, set the mod2 and key2 attributes.

    En la mayoría de los casos, MAYÚS no debe usarse sin un segundo modificador porque presionarlo ya hace que la mayoría de teclas alfanumérica escriba una letra mayúscula o un símbolo.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.

    Códigos de teclas virtuales le permiten acceder a las teclas especiales que no tienen un carácter asociado con ellos, por ejemplo, las teclas de función y el retroceso clave.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. Para obtener más información, consulte códigos de tecla Virtual.For more information, see Virtual-key codes.

    Para que el comando esté disponible en Visual Studio editor, establezca el editor atributo guidVSStd97.To make the command available in the Visual Studio editor, set the editor attribute to guidVSStd97.

    Para que el comando esté disponible solo en un editor personalizado, establezca la editor atributo por el nombre del editor personalizado que fue generado por el Programa para la mejoraVisual Studio plantilla de paquete al crear el VSPackage que incluye el editor personalizado.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 Programa para la mejoraVisual Studio Package Template when you created the VSPackage that includes the custom editor. Para encontrar el valor de nombre, busque en el <Symbols> sección un <GuidSymbol> nodo cuyo name atributo termina en "editorfactory." Este es el nombre del editor personalizado.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.

EjemploExample

En este ejemplo se enlaza el método abreviado de teclado Ctrl+Alt+C a un comando llamado cmdidMyCommand en un paquete denominado 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>  

EjemploExample

En este ejemplo se enlaza el método abreviado de teclado Ctrl+B a un comando llamado cmdidBold en un proyecto denominado TestEditor.This example binds the keyboard shortcut Ctrl+B to a command named cmdidBold in a project named TestEditor. El comando está disponible únicamente en el editor personalizado y no en otros editores.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" />  

Vea tambiénSee also

Ampliación de menús y comandosExtending menus and commands