Jerarquías en Visual Studio

El entorno de desarrollo integrado (IDE) de Visual Studio muestra un proyecto como una jerarquía. En el IDE, una jerarquía es un árbol de nodos, donde cada nodo tiene un conjunto de propiedades asociadas. Una jerarquía de proyectos es un contenedor que contiene los elementos del proyecto, las relaciones de los elementos y las propiedades y comandos asociados de los elementos.

En Visual Studio, administrará las jerarquías de proyectos mediante la interfaz de jerarquía, IVsHierarchy. La IVsUIHierarchy interfaz redirige los comandos que invoca desde los elementos del proyecto a la ventana de jerarquía adecuada en lugar del controlador de comandos estándar.

Jerarquías de proyectos

Cada jerarquía de proyectos contiene elementos que puede ver y editar. Estos elementos varían en función del tipo de proyecto. Por ejemplo, un proyecto de base de datos puede contener procedimientos almacenados, vistas de base de datos y tablas de base de datos. Por otro lado, un proyecto de lenguaje de programación incluirá archivos de código fuente y archivos de recursos para mapas de bits y cuadros de diálogo. Las jerarquías se pueden anidar, lo que proporciona cierta flexibilidad adicional al crear una jerarquía de proyectos.

Al crear un nuevo tipo de proyecto, el tipo de proyecto controla el conjunto completo de elementos que se pueden editar en él. Sin embargo, los proyectos pueden contener elementos para los que no tienen compatibilidad con la edición. Por ejemplo, los proyectos de Visual C++ pueden contener archivos HTML, aunque Visual C++ no proporcione ningún editor personalizado para el tipo de archivo HTML.

Las jerarquías administran la persistencia de los elementos que contienen. La implementación de la jerarquía debe controlar las propiedades especiales que afecten a la persistencia de los elementos de la jerarquía. Por ejemplo, si los elementos representan objetos en un repositorio en lugar de archivos, la implementación de la jerarquía debe controlar la persistencia de esos objetos. El PROPIO IDE dirige la jerarquía para guardar los elementos de conformidad con la entrada del usuario, pero el IDE no controla ninguna acción necesaria para guardar esos elementos. En su lugar, el proyecto está en control.

Cuando un usuario abre un elemento en un editor, la jerarquía que controla ese elemento se selecciona y se convierte en la jerarquía activa. La jerarquía seleccionada determina el conjunto de comandos disponibles para actuar en el elemento. El seguimiento del foco del usuario de esta manera permite que la jerarquía refleje el contexto actual del usuario.