Métodos abreviados de teclado de enlace a elementos de menúBinding 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 archivo .vsct para el paquete.To bind a keyboard shortcut to a custom menu command, just add an entry to the .vsct file for the package. Este tema explica cómo asignar un método abreviado de teclado a un botón personalizado, un elemento de menú o un 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 para los 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 Identifying and Customizing Keyboard Shortcuts.

Elegir una combinación de teclasChoosing a Key Combination

Muchos métodos abreviados de teclado ya se usan 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 porque los enlaces duplicados son difíciles de detectar y causar 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 utilizar.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 utilizado actualmente por cuadro mostrará el comando que llama el acceso directo a actualmente.If the shortcut is already used in Visual Studio, the Shorcut 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.

    Nota

    Métodos abreviados de teclado que use ALT pueden 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, la método abreviado utilizado actualmente por cuadro puede estar en blanco cuando se escribe un método abreviado que incluye ALT.Therefore, the Shorcut currently used by box may be blank when you type a shortcut that includes ALT. Puede comprobar que el acceso directo no abre un menú cerrando la opciones cuadro de diálogo y, a continuación, presione las teclas.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 dispone de 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 Creating 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 archivo .vsct para el paquete.Open the .vsct file for your package.

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

    Advertencia

    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 atribuir a 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 las 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 tecla virtual le permiten acceder a las teclas especiales que no tienen un carácter asociado a ellos, por ejemplo, las teclas de función y la 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 atribuir a 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 se generó el Visual StudioVisual Studio plantilla de paquete cuando se crea 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 Visual StudioVisual Studio Package Template when you created the VSPackage that includes the custom editor. Para encontrar el valor del 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

Este ejemplo enlaza el método abreviado de teclado CTRL + ALT + C para 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

Este ejemplo enlaza el método abreviado de teclado CTL + B con un comando llamado cmdidBold en un proyecto denominado TestEditor.This example binds the keyboard shortcut CTL+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