Freigeben über


Eigenschaften und Methoden, die von Projektuntertypen erweitert werden

Ein Projektuntertyp hat eine Menge Leistungsfähigkeit, um das Verhalten des Projekts zu beeinflussen, da es als Aggregator eines Basisprojekts erstellt wird. In diesem Abschnitt werden einige der Features zusammengefasst, die von Projektuntertypen verbessert oder geändert werden können.

Von Aggregation gewonnene Features

In der folgenden Tabelle sind viele der Methoden zusammengefasst, mit denen die Aggregation Projektuntertypen in Basisprojekten außer Kraft setzen kann.

Methoden, die durch Aggregation überschrieben werden Projektuntertyp
Von IVsHierarchy:

GetProperty

SetProperty

GetGuidProperty

SetGuidProperty
Aktiviert einen Projektuntertyp für

– Ändern Untertitel und Symbol des Projektknotens.
- Projektobjekt vollständig außer Kraft setzen Browse .
– Steuern, ob das Projekt umbenannt werden kann.
- Sortierreihenfolge steuern.
– Steuern des Benutzerkontexts für dynamische Hilfe.
Von IVsProject:

GetItemContext
Ermöglicht einem Projektuntertyp zu steuern, welche Kontextdienste Designern und Editoren zur Verfügung gestellt werden.
Von IOleCommandTarget:

QueryStatus

Exec

QueryStatusCommand

ExecCommand
Aktiviert einen Projektuntertyp für

– Teilnehmen am Befehlsrouting für Projektbefehle.
– Hinzufügen, Entfernen oder Deaktivieren von Projektumgebungsbefehlen und Projektmappen-Explorer aktiven Befehlen.
IVsFilterAddProjectItemDlg2 Aktiviert den Projektuntertyp, um zu filtern, was der Benutzer im Dialogfeld "Neues Element hinzufügen" sieht.
IVsSingleFileGeneratorFactory Aktiviert einen Projektuntertyp für

- Bestimmen Sie den Standardgenerator anhand einer Dateierweiterung.
- Zuordnen eines menschlichen lesbaren Generatornamens zu einem COM-Objekt.

Von Project-Untertypen verwendete Eigenschaften

Die Umgebung und das Basisprojektsystem können die Eigenschaften __VSSPROPID und __VSSPROPID2 Enumerationen verwenden, die in der folgenden Tabelle beschrieben sind, um einem Projektuntertyp die Steuerung verschiedener Features des Projektsystems zu ermöglichen.

VSHPROPID-Eigenschaft Projektuntertyp
AddItemTemplatesGuid Ermöglicht einem Projektuntertyp das Steuern des Inhalts des Dialogfelds "Element hinzufügen". Der Projektuntertyp kann eine neue Spezifikation von Vorlagenverzeichnissen bereitstellen, neue Arten von Elementen hinzufügen, vorhandene Elemente entfernen und eine Teilmenge der Elemente im Dialogfeld "Element hinzufügen" des Basisprojekts neu organisieren.
PropertyPagesCLSIDList Ermöglicht einem Projektuntertyp, konfigurationsunabhängige Eigenschaftenseiten hinzuzufügen oder zu entfernen.
CfgPropertyPagesCLSIDList Ermöglicht einem Projektuntertyp, konfigurationsabhängige Eigenschaftenseiten hinzuzufügen oder zu entfernen.
ExtObjectCATID Ermöglicht einem Projektuntertyp, einen Automatisierungs extender für das Projekt oder Projektelementobjekte bereitzustellen, indem er die Extender CATID kennt. Ein Projektuntertyp kann z. B. ein benutzerdefiniertes Project.Extender("<subtype>") Objekt bereitstellen.
BrowseObjectCATID Ermöglicht einem Projektuntertyp, einen Automatisierungs extender für das Browse Objekt bereitzustellen, indem er die Extender CATID kennt. Beispielsweise kann ein Projektuntertyp der Auflistung zusätzliche Eigenschaften Properties hinzufügen.
CfgBrowseObjectCATID Ermöglicht einem Projektuntertyp die Bereitstellung eines Automatisierungs extenders für das Projektkonfigurations-Browseobjekt. Beispielsweise kann ein Projektuntertyp der Auflistung zusätzliche Eigenschaften Properties hinzufügen.
CfgExtObjectCATID Ermöglicht einem Projektuntertyp, einen Automatisierungs extender für das Konfigurationsobjekt bereitzustellen.
DefaultPlatformName Ermöglicht einem Projektuntertyp, den Plattformnamen für die Konfigurationsobjekte des Projekts zu bestimmen.

Das Basisprojekt stellt eine Standardimplementierung der oben genannten Eigenschaften bereit. Das Basisprojekt ruft diese durch Aufrufen QueryInterface IVsHierarchy des äußersten Projektuntertyps ab, sodass der Projektuntertyp die Implementierung der Eigenschaften außer Kraft setzen kann.

Siehe auch