Enlazar métodos abreviados de teclado a elementos de menú

Para enlazar un método abreviado de teclado a un comando de menú personalizado, basta con agregar una entrada al archivo .vsct para el paquete. En este tema se 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 limitarla a un editor personalizado.

Para asignar métodos abreviados de teclado a los elementos de menú existentes de Visual Studio, consulte Identificación y personalización de métodos abreviados de teclado.

Elegir una combinación de teclas

Muchos métodos abreviados de teclado ya se usan en Visual Studio. No debe asignar el mismo acceso directo a más de un comando porque los enlaces duplicados son difíciles de detectar y también pueden provocar resultados impredecibles. Por lo tanto, es recomendable comprobar la disponibilidad de un acceso directo antes de asignarlo.

Para comprobar la disponibilidad de un método abreviado de teclado

  1. En la ventana Entorno de opciones> de herramientas>, seleccione Teclado.

  2. Asegúrese de que Usar nuevo acceso directo en está establecido en Global.

  3. En el cuadro Presionar teclas de método abreviado, escriba el método abreviado de teclado que desea usar.

    Si el acceso directo ya se usa en Visual Studio, el acceso directo que usa actualmente el cuadro mostrará el comando al que llama actualmente el acceso directo.

  4. Pruebe diferentes combinaciones de teclas hasta que encuentre una que no esté asignada.

    Nota:

    Los métodos abreviados de teclado que usan Alt pueden abrir un menú y no ejecutar directamente un comando. Por lo tanto, el acceso directo usado actualmente por el cuadro puede estar en blanco cuando escriba un acceso directo que incluya Alt. Puede comprobar que el acceso directo no abre un menú cerrando el cuadro de diálogo Opciones y presionando las teclas.

    En el procedimiento siguiente se supone que tiene un VSPackage existente con un comando de menú. Si necesita ayuda para ello, eche un vistazo a Crear una extensión con un comando de menú.

Para asignar un método abreviado de teclado a un comando

  1. Abra el archivo .vsct del paquete.

  2. Cree una sección vacía <KeyBindings> después de si <Commands> aún no está presente.

    Advertencia

    Para obtener más información sobre los enlaces de claves, consulte Enlace de claves.

    En la <KeyBindings> sección , cree una <KeyBinding> entrada.

    Establezca los guid atributos y id en los del comando que desea invocar.

    Establezca el mod1 atributo en Control, Alt o Mayús.

    La sección KeyBindings debe tener un aspecto similar al siguiente:

    <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 teclas, establezca los mod2 atributos y key2 .

    En la mayoría de las situaciones, Shift no debe usarse sin un segundo modificador porque presionarlo ya hace que la mayoría de las claves alfanuméricas escriban una letra mayúscula o un símbolo.

    Los códigos de clave virtual permiten acceder a claves especiales que no tienen un carácter asociado, por ejemplo, las teclas de función y la tecla Backspace . Para obtener más información, consulte Códigos de clave virtual.

    Para que el comando esté disponible en el editor de Visual Studio, establezca el editor atributo guidVSStd97en .

    Para que el comando solo esté disponible en un editor personalizado, establezca el editor atributo en el nombre del editor personalizado generado por la plantilla de paquete de Visual Studio al crear el VSPackage que incluye el editor personalizado. Para buscar el valor de nombre, busque en la <Symbols> sección un <GuidSymbol> nodo cuyo name atributo termina en "editorfactory". Este es el nombre del editor personalizado.

Ejemplo 1

En este ejemplo se enlaza el método abreviado de teclado Ctrl+Alt+C a un comando denominado cmdidMyCommand en un paquete denominado .MyPackage

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

Ejemplo 2

En este ejemplo se enlaza el método abreviado de teclado Ctrl+B a un comando denominado cmdidBold en un proyecto denominado .TestEditor El comando solo está disponible en el editor personalizado y no en otros editores.

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