Compartir a través de


Páginas de propiedades

Los usuarios pueden ver y cambiar las propiedades dependientes y independientes de la configuración del proyecto mediante páginas de propiedades. Un botón Páginas de propiedades está habilitado en la ventana Propiedades o en Explorador de soluciones barra de herramientas para objetos que proporcionan una vista de página de propiedades del objeto seleccionado. Las páginas de propiedades se crean mediante el entorno y están disponibles para soluciones y proyectos. Sin embargo, también pueden estar disponibles para los elementos de proyecto que usan propiedades dependientes de la configuración. Esta funcionalidad puede usarse cuando los archivos de un proyecto requieren una configuración diferente del modificador del compilador para compilar correctamente.

Usar páginas de propiedades

Si ya se muestra una página de propiedades y la selección cambia (por ejemplo, de una solución a un proyecto), la información mostrada en las páginas cambia para mostrar las propiedades de la nueva selección. Si no hay propiedades en el objeto que admiten páginas de propiedades, la página de propiedades está vacía.

Si se seleccionan varios objetos, la página de propiedades muestra la intersección de propiedades de todos los elementos seleccionados. Si el elemento seleccionado no contiene propiedades dependientes de la configuración y se hace clic en el botón Páginas de propiedades de la barra de herramientas de Explorador de soluciones, el foco cambia a la ventana Propiedades. Para obtener más información sobre la ventana Propiedades y la selección, vea Extender propiedades.

Si las propiedades se muestran para varios objetos y se cambia un valor en una página de propiedades, todos los valores de los objetos se establecen en el nuevo valor incluso si eran inicialmente diferentes y la página estaba en blanco cuando se mostraron las propiedades de un objeto individual.

Hay dos tipos generales de cuadros de diálogo ProjectProperty Pages disponibles en Visual Studio. En primer lugar, para los proyectos de Visual Basic, por ejemplo, las páginas de propiedades se muestran con un formato de campo, como se muestra en la captura de pantalla siguiente. En el segundo, que se muestra más adelante en esta sección, la página de propiedades hospeda una cuadrícula de propiedades similar a la que se encuentra en la ventana Propiedades.

Páginas de propiedades de Visual Basic

Cuadro de diálogo Páginas de propiedades del proyecto con formato de campo y estructura de árbol

La estructura de árbol del cuadro de diálogo Páginas de propiedades no se compila con IVsHierarchy. El entorno, en función del nombre de nivel que le pasa y ISpecifyPropertyPages las IVsPropertyPage interfaces, lo compila.

Solo hay dos categorías de nivel superior disponibles en las páginas de propiedades de Visual Studio:

  • Propiedades comunes, que muestra información independiente de la configuración para el objeto u objetos seleccionados. Como resultado, cuando se selecciona una de las subcategorías Propiedades comunes, las opciones Configuración, Plataforma y Configuration Manager en la parte superior del cuadro de diálogo no están disponibles.

  • Propiedades de configuración, que contiene información dependiente de la configuración relacionada con los parámetros de depuración, optimización y compilación de la solución o el proyecto.

    No puede crear categorías de nivel superior adicionales, pero puede optar por no mostrar una o la otra en la implementación de IVsPropertyPage. Si, por ejemplo, no tiene ninguna propiedad independiente de configuración que se muestre para un objeto, puede optar por no mostrar la categoría Propiedades comunes. Se muestran propiedades comunes si ISpecifyPropertyPages se implementa desde el objeto de exploración del elemento y las propiedades de configuración al implementar ISpecifyPropertyPages en el objeto de configuración (el objeto que implementa IVsCfginterfaces IVsProjectCfgrelacionadas , y ).

    Cada categoría que se muestra en una categoría de nivel superior representa una página de propiedades independiente. Las entradas de categoría y subcategoría disponibles en el cuadro de diálogo están determinadas por la implementación de ISpecifyPropertyPages y IVsPropertyPage.

    IDispatch objetos para los elementos del contenedor de selección que tienen propiedades que se van a mostrar en las páginas de propiedades implementan ISpecifyPropertyPages para enumerar una lista de identificadores de clase. Los identificadores de clase se pasan como variables a ISpecifyPropertyPages y se usan para crear instancias de las páginas de propiedades. La lista de identificadores de clase también se pasa a IVsPropertyPage para crear la estructura de árbol a la izquierda del cuadro de diálogo. A continuación, las páginas de propiedades devuelven información al IDispatch objeto que implementa ISpecifyPropertyPages y rellena la información de cada página.

    Las propiedades del objeto browse se recuperan utilizando IDispatch para cada objeto del contenedor de selección.

    La implementación Help::DisplayTopicFromF1Keyword en VSPackage proporciona la funcionalidad del botón Ayuda.

    Para obtener más información, consulte IDispatch y ISpecifyPropertyPagesen MSDN Library.

    El segundo tipo de páginas de propiedades que se muestran en los ejemplos hospeda una forma de la cuadrícula de propiedades, como se muestra en la captura de pantalla siguiente.

    Páginas de propiedades de VC

    Cuadro de diálogo Páginas de propiedades con cuadrícula de propiedades

    Las interfaces IVSMDPropertyBrowser y IVSMDPropertyGrid (declaradas en vsmanaged.h) se usan para crear y rellenar la cuadrícula de propiedades dentro de un cuadro de diálogo o ventana.

    La arquitectura de los proyectos ha cambiado considerablemente a partir de versiones anteriores de Visual Studio. En concreto, ha cambiado la noción de qué proyecto está activo. En Visual Studio, no hay ningún concepto de proyecto activo. En entornos de desarrollo anteriores, el proyecto activo era el proyecto que compila e implementa comandos de forma predeterminada independientemente del contexto. Ahora, la solución controla y arbitra qué comandos de compilación e implementación se aplican a los proyectos.

    Lo que anteriormente era un proyecto activo ahora se captura de una de estas tres maneras diferentes:

  • Proyecto de inicio

    Puede especificar un proyecto o proyectos en la página de propiedades de la solución que se iniciará cuando el usuario presione F5 o seleccione Ejecutar en el menú Compilar. Esto funciona de forma similar al proyecto activo antiguo en el sentido de que su nombre se muestra en Explorador de soluciones con fuente en negrita.

    Puede recuperar el proyecto de inicio como una propiedad en el modelo de automatización llamando a DTE.Solution.SolutionBuild.StartupProjects. En un VSPackage, se llama a los get_StartupProject métodos o get_StartupProject . IVsSolutionBuildManager está disponible como servicio en QueryService SID_SVsSolutionBuildManager. Para obtener más información, vea Project Configuration Object and Solution Configuration( Objeto de configuración del proyecto y Configuración de soluciones).

  • Configuración de compilación de soluciones activas

    Visual Studio tiene una configuración de solución activa, disponible en el modelo de automatización mediante la implementación DTE.Solution.SolutionBuild.ActiveConfigurationde . Una configuración de solución es una colección que contiene una configuración de proyecto para cada proyecto de la solución (cada proyecto puede tener varias configuraciones, en varias plataformas, con nombres diferentes). Para obtener más información sobre las páginas de propiedades de la solución, consulte Configuración de soluciones.

  • Proyecto seleccionado actualmente

    Implemente el GetCurrentSelection método para recuperar la jerarquía del proyecto y el elemento de proyecto o los elementos seleccionados. En DTE, usaría los SelectedItems.SelectedItem.Project métodos y SelectedItems.SelectedItem.ProjectItem . Hay código de ejemplo bajo esos encabezados en los documentos principales de Visual Studio.

Consulte también