Propriétés et méthodes étendues aux sous-types de projetProperties and Methods Extended by Project Subtypes

Un sous-type de projet a un grand nombre de puissance pour influencer le comportement du projet, car il est construit comme un agrégateur d’un projet 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. Cette section présente certaines des fonctionnalités qui peuvent être améliorées ou modifiées par les sous-types de projet.This section summarizes some of the features that can be enhanced or modified by project subtypes.

Fonctionnalités acquises par agrégationFeatures Gained by Aggregation

Le tableau suivant résume la plupart des méthodes d’agrégation permet des sous-types de projet à remplacer dans les projets de base.The following table summarizes many of the methods that aggregation enables project subtypes to override in base projects.

Méthodes de substitution par agrégationMethods Overridden by Aggregation Sous-type de projetProject Subtype
À partir de IVsHierarchy:From IVsHierarchy:

GetProperty

SetProperty

GetGuidProperty

SetGuidProperty
Permet à un sous-type de projetEnables a project subtype to

-Modifier la légende et l’icône du nœud de projet.- Change caption and icon of project node.
-Substituent projet Browse objet.- Completely override project Browse object.
-Contrôle si le projet peut être renommé.- Control whether project can be renamed.
-Ordre de tri control.- Control sort order.
-Contexte de l’aide dynamique contrôle utilisateur.- Control user context for dynamic help.
À partir de IVsProject:From IVsProject:

GetItemContext
Permet à un sous-type de projet contrôler quels services contextuelles sont fournis aux éditeurs et concepteurs.Enables a project subtype to control what contextual services are provided to designers and editors.
À partir de IOleCommandTarget:From IOleCommandTarget:

QueryStatus

Exec

QueryStatusCommand

ExecCommand
Permet à un sous-type de projetEnables a project subtype to

-Participer au routage des commandes pour les commandes du projet.- Participate in the command routing for project commands.
-Ajouter, supprimer ou désactiver les commandes ambiante du projet et les commandes actives de l’Explorateur de solutions.- Add, remove, or disable both project ambient commands and Solution Explorer active commands.
IVsFilterAddProjectItemDlg2 Permet le sous-type de projet filtrer ce que l’utilisateur voit dans le ajouter un nouvel élément boîte de dialogue.Enables the project subtype to filter what the user sees in the Add New Item dialog box.
IVsSingleFileGeneratorFactory Permet à un sous-type de projetEnables a project subtype to

-Déterminez le Générateur de valeur par défaut étant donné une extension de fichier.- Determine the default generator given a file extension.
-Mapper un nom humaine générateur accessible en lecture à un objet COM.- Map a human readable generator name to a COM object.

Propriétés utilisées par les sous-types de projetProperties Used by Project Subtypes

Le système de projet d’environnement et de base peut utiliser les propriétés à partir de __VSSPROPID et __VSSPROPID2 énumérations décrites dans le tableau suivant pour activer un sous-type de projet contrôler différentes fonctionnalités du système de projet.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.

Propriété VSHPROPIDVSHPROPID property Sous-type de projetProject Subtype
AddItemTemplatesGuid Permet à un sous-type de projet contrôler le contenu de la ajouter un élément boîte de dialogue.Allows a project subtype to control the contents of the Add Item dialog box. Du sous-type de projet peut fournir une nouvelle spécification de répertoires de modèle, ajouter de nouveaux types d’éléments, supprimer des éléments existants et réorganiser un sous-ensemble des éléments dans le projet de base ajouter un élément boîte de dialogue.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 Permet à un sous-type de projet Ajouter ou supprimer des pages de propriétés de configuration indépendant.Allows a project subtype to add or remove configuration-independent property pages.
CfgPropertyPagesCLSIDList Permet à un sous-type de projet Ajouter ou supprimer des pages de propriétés de dépend de la configuration.Allows a project subtype to add or remove configuration-dependent property pages.
ExtObjectCATID Permet à un sous-type de projet fournir un extendeur Automation pour le projet ou le projet d’objets d’élément en connaissant le CATID d’extendeur.Allows a project subtype to provide an Automation Extender for the project or project item objects by knowing the Extender CATID. Par exemple, un sous-type de projet peut fournir une personnalisée Project.Extender("<subtype>") objet.For example, a project subtype can provide a custom Project.Extender("<subtype>") object.
BrowseObjectCATID Permet à un sous-type de projet fournir un extendeur Automation pour le Browse objet en connaissant le CATID d’extendeur.Allows a project subtype to provide an Automation Extender for the Browse object by knowing the Extender CATID. Par exemple, un sous-type de projet peut ajouter des propriétés supplémentaires à la Properties collection.For example, a project subtype can add extra properties to the Properties collection.
CfgBrowseObjectCATID Permet à un sous-type de projet fournir un extendeur Automation de l’objet de parcourir de configuration de projet.Allows a project subtype to provide an Automation Extender for the project configuration browse object. Par exemple, un sous-type de projet peut ajouter des propriétés supplémentaires à la Properties collection.For example, a project subtype can add extra properties to the Properties collection.
CfgExtObjectCATID Permet à un sous-type de projet fournir un extendeur Automation pour l’objet de configuration.Allows a project subtype to provide an Automation Extender for the configuration object.
DefaultPlatformName Permet à un sous-type de projet déterminer le nom de la plateforme pour les objets de configuration du projet.Allows a project subtype to determine the platform name for the project's configuration objects.

Le projet de base fournit une implémentation par défaut des propriétés ci-dessus.The base project provides a default implementation of the above properties. Le projet de base obtient en appelant QueryInterface pour IVsHierarchy sur le sous-type de projet extérieur, ce qui permet de substituer l’implémentation des propriétés du sous-type de projet.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.

Voir aussiSee Also

Conception de sous-types de projetsProject Subtypes Design