Visual Studio Shell

El shell de Visual Studio es el agente principal de integración en Visual Studio. El shell proporciona la funcionalidad necesaria para permitir que VSPackages comparta servicios comunes. Dado que el objetivo arquitectónico de Visual Studio es mantener la funcionalidad principal en VSPackages, el shell es un marco para proporcionar funcionalidad básica y admitir la comunicación cruzada entre sus componentes VSPackages.

Responsabilidades del shell

El shell tiene las siguientes responsabilidades clave:

  • Compatibilidad (a través de interfaces COM) elementos básicos de la interfaz de usuario (UI). Estos incluyen menús y barras de herramientas predeterminados, marcos de ventana de documento o ventanas secundarias de interfaz de varios documentos (MDI) y marcos de ventanas de herramientas y compatibilidad con acoplamiento.

  • Mantener una lista en ejecución de todos los documentos abiertos actualmente en una tabla de documentos en ejecución (RDT) con el fin de coordinar la persistencia de los documentos y garantizar que un documento no se puede abrir de más de una manera o de maneras incompatibles.

  • Compatibilidad con la interfaz de enrutamiento de comandos y control de comandos, IOleCommandTarget.

  • Carga de VSPackages en momentos adecuados. Es necesario retrasar la carga de un VSPackage para mejorar el rendimiento del shell.

  • Administrar determinados servicios compartidos, como SVsShell, que proporciona funcionalidad básica del shell y SVsUIShell, que proporciona funcionalidad básica de ventanas.

  • Administración de los archivos de la solución (.sln). Las soluciones contienen grupos de proyectos relacionados, similares a los archivos de área de trabajo (.dsw) en Visual C++ 6.0.

  • Seguimiento de la selección, el contexto y la moneda del shell. El shell realiza un seguimiento de los siguientes tipos de elementos:

    • El proyecto actual

    • Elemento de proyecto actual o ItemID actual IVsHierarchy

    • Selección actual de la ventana Propiedades o SelectionContainer

    • Identificadores de contexto de la interfaz de usuario o CmdUIGuids que controlan la visibilidad de comandos, menús y barras de herramientas

    • Los elementos activos actualmente, como la ventana activa, el documento y el administrador de deshacer

    • Atributos de contexto de usuario que controlan la Ayuda dinámica

    El shell también media la comunicación entre VSPackages instalados y los servicios actuales. Admite las características principales del shell y las pone a disposición de todos los VSPackages integrados en Visual Studio. Estas características principales incluyen los siguientes elementos:

  • Acerca del cuadro de diálogo y la pantalla de presentación

  • Cuadros de diálogo Agregar nuevo y agregar elemento existente

  • Ventana Vista de clases y Examinador de objetos

  • Cuadro de diálogo Referencias

  • Ventana Esquema del documento

  • Ventana Ayuda dinámica

  • Buscar y reemplazar

  • Abrir proyecto y abrir archivos cuadros de diálogo en el menú Nuevo

  • Cuadro de diálogo Opciones en el menú Herramientas

  • Ventana Propiedades

  • Explorador de soluciones

  • Ventana Lista de tareas

  • Cuadro de herramientas