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