Compartir a través de


Cómo: Enlazar un comando a una única tecla de método abreviado

Actualización: noviembre 2007

Además de mostrar los enlaces de teclas de método abreviado, también puede utilizar la propiedad Bindings para establecer o cambiar los enlaces de teclas de un comando de Visual Studio. Observe que cuando cambia un enlace de teclado, éste reemplaza el enlace de teclado anterior; es decir, este último se pierde. Además, si otro comando utiliza el nuevo enlace de teclado, éste también se elimina del comando anterior y se reasigna al nuevo comando.

Sin embargo, existe una forma de conservar un enlace de teclado para que se convierta en una tecla de método abreviado adicional un enlace nuevo, en lugar de reemplazar al anterior. Este método se explica brevemente en el tema Cómo: Conservar los enlaces de teclado de los comandos existentes.

Nota:

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de la configuración activa o la edición. Estos procedimientos se desarrollaron con la Configuración general de desarrollo activa. Para cambiar la configuración, elija la opción Importar y exportarconfiguración del menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.

Procedimiento

Para enlazar un comando a una tecla de método abreviado

  1. Utilice el Asistente para complementos de Visual Studio con el fin de crear un nuevo complemento. Asigne un nombre al proyecto y haga clic en Aceptar para iniciar el asistente.

    Para obtener más información sobre el uso del Asistente para complementos de Visual Studio, vea Cómo: Crear un complemento.

  2. En la página Seleccione un lenguaje de programación, seleccione Crear complemento utilizando Visual C# para ejecutar el ejemplo de Visual C#, que aparece a continuación, o Crear un complemento utilizando Visual Basic para ejecutar el ejemplo de Visual Basic.

  3. Pegue la función de ejemplo que aparece a continuación en la clase Connect del código generado por el Asistente para complementos de Visual Studio.

  4. En el panel izquierdo del cuadro de diálogo Opciones, expanda la carpeta Entorno y seleccione Teclado.

    Asegúrese de que el nombre del archivo vsk al que cambió de nombre en el paso 7 aparece en el menú desplegable Aplicar el siguiente esquema de asignación de teclado adicional.

  5. Antes de ejecutar el ejemplo del complemento, asegúrese de que los enlaces de teclado se establezcan en (Predeterminado). Para ello, haga clic en Restablecer en el panel Teclado del cuadro de diálogo Opciones.

  6. Llame a la función desde el método OnConnection como se describe en Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.

  7. Genere el complemento.

  8. Para ejecutar el complemento, haga clic en la opción Administrador de complementos del menú Herramientas, seleccione el complemento creado y haga clic en Aceptar.

    El comando se enlaza a una única tecla de método abreviado global. Para probar el enlace de teclado, presione CTRL+MAYÚS+ALT+X. De esta forma, aparece el cuadro de diálogo Nuevo archivo.

Ejemplo

En el ejemplo de complemento siguiente se muestra cómo enlazar el comando File.NewFile a una única tecla de método abreviado (F2).

Public Sub OnConnection(ByVal application As Object, ByVal  _
  connectMode As ext_ConnectMode, ByVal addInInst As Object, ByRef  _
  custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    BindingsExample(_applicationObject)
            
End Sub

Sub BindingsExample(ByVal dte As DTE2)
    Dim cmds As Commands
    Dim cmd As Command
    Try
        ' Set references to the Commands collection and the 
        ' File.NewFile command.
        cmds = DTE.Commands
        cmd = cmds.Item("File.NewFile")

        ' Assigns the command (File.NewFile) globally to the F2 key.
        cmd.Bindings = "Global::F2"
        MsgBox("key remapped")
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
End Sub
public void OnConnection(object application, ext_ConnectMode 
connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    BindingsExample(_applicationObject);

}

public void BindingsExample(DTE2 dte)
{
    Commands cmds;
    Command cmd;

    try
    {
        // Set references to the Commands collection and the 
        // File.NewFile command.
        cmds = dte.Commands;
        cmd = cmds.Item("File.NewFile", 1);

        // Assigns the command (File.NewFile) globally to the F2 key.
        cmd.Bindings = "Global::F2";
        System.Windows.Forms.MessageBox.Show("key remapped");
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
}

Vea también

Tareas

Cómo: Enlazar un comando a varias combinaciones de teclas de método abreviado

Cómo: Conservar los enlaces de teclado de los comandos existentes

Conceptos

Formato de los parámetros de la propiedad Bindings

Otros recursos

Enlazar comandos de complementos a teclas