Comandos, menús y barras de herramientas

Los menús y las barras de herramientas son la forma en que los usuarios acceden a los comandos en vsPackage. Los comandos son funciones que realizan tareas, como la impresión de un documento, la actualización de una vista o la creación de un archivo nuevo. Los menús y las barras de herramientas son maneras gráficas y cómodas de presentar los comandos a los usuarios. Normalmente, los comandos relacionados se agrupan en clústeres en el mismo menú o en la misma barra de herramientas.

  • Los menús suelen mostrarse como cadenas de una palabra agrupadas en clúster en una fila de la parte superior del entorno de desarrollo integrado (IDE) o una ventana de herramientas. Los menús también se pueden mostrar como resultado de un evento de botón derecho y se conocen como menús contextuales en ese contexto. Al hacer clic en ellos, los menús se expanden para mostrar uno o varios comandos. Cuando se hace clic en los comandos, pueden llevar a cabo tareas o iniciar submenús que contengan comandos adicionales. Algunos nombres de menú conocidos son Archivo, Editar, Ver y Ventana. Para obtener más información, vea Extender menús y comandos.

  • Las barras de herramientas normalmente son filas de botones y otros controles, como cuadros combinados, cuadros de lista, cuadros de texto y controladores de menús. Todos los controles de barra de herramientas están asociados a comandos. Cuando se hace clic en un botón de barra de herramientas, se activa su comando asociado. Los botones de barra de herramientas suelen tener iconos que sugieren los comandos subyacentes, como una impresora para un comando Imprimir. En un control de lista desplegable, cada elemento de la lista está asociado a un comando distinto. Un controlador de menú es un híbrido en el que un lado del control es un botón de barra de herramientas y el otro lado es una flecha hacia abajo que muestra comandos adicionales cuando se hace clic en ella. Para obtener más información, vea Agregar un controlador de menú a una barra de herramientas.

  • Cuando se crea un comando, también debe crear un controlador de eventos para él. El controlador de eventos determina si el comando es visible o está activado, permite modificar su texto y garantiza que el comando responde correctamente ("enruta") cuando se activa. En la mayoría de los casos, el IDE controla los comandos mediante la interfaz IOleCommandTarget. Los comandos de Visual Studio enrutan de forma jerárquica, empezando por el contexto de comando más interno, en función de la selección local y pasando al contexto más externo, en función de la selección global. Los comandos agregados al menú principal están disponibles inmediatamente para los scripts. Para obtener más información, vea MenuCommands vs. OleMenuCommands y Objetos de contexto Selection.

    Para definir nuevos menús y barras de herramientas, debe describirlos en un archivo de tabla de comandos (.vsct) de Visual Studio. La plantilla de paquete de Visual Studio crea este archivo automáticamente, junto con los elementos necesarios para admitir los comandos, las barras de herramientas y los editores seleccionados en la plantilla. Como alternativa, puede escribir su propio archivo .vsct mediante el esquema XML que se describe aquí: Referencia de esquema XML de VSCT.

    Para obtener más información sobre cómo trabajar con archivos .vsct , vea Archivos de tabla de comandos de Visual Studio (.vsct).

    En los temas de esta sección se explica cómo funcionan los comandos, menús y barras de herramientas en VSPackages.

En esta sección

Descripción detallada de la especificación de formato de tabla de comandos.

Describe una sintaxis y un compilador basados en XML para las tablas de comandos.

Describe comandos, grupos, menús y barras de herramientas predefinidos.

Especifica los menús, comandos y grupos de comandos predefinidos disponibles para su uso por parte del IDE de Visual Studio.

Explica cómo diseñar comandos.

Proporciona instrucciones para los comandos.

Explica cómo poner los comandos a disposición de Visual Studio.

Explica cómo implementar comandos que usan ensamblados de interoperabilidad.

Explica el enrutamiento de comandos en VSPackages.