Propiedades y métodos extendidos subtipos de proyectoProperties and Methods Extended by Project Subtypes

Un subtipo de proyecto tiene una gran cantidad de energía para influir en el comportamiento del proyecto porque se construye como un agregador de un proyecto de base.A project subtype has a lot of power to influence the behavior of the project because it is constructed as an aggregator of a base project. En esta sección se resume algunas de las características que pueden ser mejoradas o modificar mediante subtipos de proyecto.This section summarizes some of the features that can be enhanced or modified by project subtypes.

Obtenido mediante la agregación de característicasFeatures Gained by Aggregation

En la tabla siguiente se resume muchos de los métodos de agregación permite subtipos de proyecto invalidar en los proyectos de base.The following table summarizes many of the methods that aggregation enables project subtypes to override in base projects.

Se reemplaza con la agregación de métodosMethods Overridden by Aggregation Subtipo de proyectoProject Subtype
Desde IVsHierarchy:From IVsHierarchy:

GetProperty

SetProperty

GetGuidProperty

SetGuidProperty
Habilita a un subtipo de proyecto aEnables a project subtype to

-Cambiar el título y el icono de nodo del proyecto.- Change caption and icon of project node.
-Completamente invalidar proyecto Browse objeto.- Completely override project Browse object.
-Controlar si se puede cambiar el nombre de proyecto.- Control whether project can be renamed.
-Criterio de ordenación control.- Control sort order.
: Contexto de usuario de control para obtener Ayuda dinámica.- Control user context for dynamic help.
Desde IVsProject:From IVsProject:

GetItemContext
Permite un subtipo de proyecto controlar qué servicios contextuales se proporcionan a los editores y diseñadores.Enables a project subtype to control what contextual services are provided to designers and editors.
Desde IOleCommandTarget:From IOleCommandTarget:

QueryStatus

Exec

QueryStatusCommand

ExecCommand
Habilita a un subtipo de proyecto aEnables a project subtype to

-Participar en el enrutamiento de comandos para los comandos de proyecto.- Participate in the command routing for project commands.
-Agregar, quitar o deshabilitar comandos ambiente de proyecto y los comandos activos el Explorador de soluciones.- Add, remove, or disable both project ambient commands and Solution Explorer active commands.
IVsFilterAddProjectItemDlg2 Habilita el subtipo de proyecto filtrar lo que ve el usuario en el Agregar nuevo elemento cuadro de diálogo.Enables the project subtype to filter what the user sees in the Add New Item dialog box.
IVsSingleFileGeneratorFactory Habilita a un subtipo de proyecto aEnables a project subtype to

-Determine el generador predeterminado tiene una extensión de archivo.- Determine the default generator given a file extension.
-Asignar un nombre de generador legible humano a un objeto COM.- Map a human readable generator name to a COM object.

Propiedades utilizadas por los subtipos de proyectoProperties Used by Project Subtypes

Puede utilizar el sistema de proyecto de base y el entorno de las propiedades de __VSSPROPID y __VSSPROPID2 enumeraciones detalladas en la tabla siguiente para habilitar un subtipo de proyecto controlar diversas características del sistema del proyecto.The environment and base project system can use the properties from __VSSPROPID and __VSSPROPID2 enumerations detailed in the following table to enable a project subtype to control various features of the project system.

Propiedad VSHPROPIDVSHPROPID property Subtipo de proyectoProject Subtype
AddItemTemplatesGuid Permite un subtipo de proyecto controlar el contenido de la Agregar elemento cuadro de diálogo.Allows a project subtype to control the contents of the Add Item dialog box. Puede proporcionar una nueva especificación de directorios de la plantilla, agregar nuevos tipos de elementos, quitar los elementos existentes y reorganizar un subconjunto de los elementos en el proyecto de base del subtipo de proyecto Agregar elemento cuadro de diálogo.The project subtype can provide a new specification of template directories, add new kinds of items, remove existing items, and reorganize a subset of the items in the base project's Add Item dialog box.
PropertyPagesCLSIDList Permite un subtipo de proyecto Agregar o quitar páginas de propiedades independientes de la configuración.Allows a project subtype to add or remove configuration-independent property pages.
CfgPropertyPagesCLSIDList Permite un subtipo de proyecto Agregar o quitar páginas de propiedades dependientes de la configuración.Allows a project subtype to add or remove configuration-dependent property pages.
ExtObjectCATID Permite un subtipo de proyecto proporcionar un extensor de automatización para el proyecto o el proyecto de objetos de elementos si se conoce el identificador de categoría del extensor.Allows a project subtype to provide an Automation Extender for the project or project item objects by knowing the Extender CATID. Por ejemplo, un subtipo de proyecto puede proporcionar un personalizado Project.Extender("<subtype>") objeto.For example, a project subtype can provide a custom Project.Extender("<subtype>") object.
BrowseObjectCATID Permite un subtipo de proyecto proporcionar un extensor de automatización para la Browse objeto conociendo el CATID del objeto Extender.Allows a project subtype to provide an Automation Extender for the Browse object by knowing the Extender CATID. Por ejemplo, un subtipo de proyecto puede agregar propiedades adicionales a la Properties colección.For example, a project subtype can add extra properties to the Properties collection.
CfgBrowseObjectCATID Permite un subtipo de proyecto proporcionar un extensor de automatización para el objeto de búsqueda de la configuración de proyecto.Allows a project subtype to provide an Automation Extender for the project configuration browse object. Por ejemplo, un subtipo de proyecto puede agregar propiedades adicionales a la Properties colección.For example, a project subtype can add extra properties to the Properties collection.
CfgExtObjectCATID Permite un subtipo de proyecto proporcionar un extensor de automatización para el objeto de configuración.Allows a project subtype to provide an Automation Extender for the configuration object.
DefaultPlatformName Permite un subtipo de proyecto determinar el nombre de la plataforma para los objetos de configuración del proyecto.Allows a project subtype to determine the platform name for the project's configuration objects.

El proyecto de base proporciona una implementación predeterminada de las propiedades anteriores.The base project provides a default implementation of the above properties. Obtiene el proyecto de base estos métodos, debe llamar a QueryInterface para IVsHierarchy en el subtipo de proyecto más externo, lo que permite el subtipo de proyecto invalidar la implementación de las propiedades.The base project gets these by calling QueryInterface for IVsHierarchy on the outermost project subtype, thus allowing the project subtype to override the implementation of the properties.

Vea tambiénSee Also

Diseño de subtipos de proyectoProject Subtypes Design