Freigeben über


Projekt-vorbildliche Kernkomponenten

Die folgenden Tabellen erweitert im Projektmodell. Die vorhandenen kurzen Beschreibungen der Tabellen der Schnittstellen und der Dienste identifiziert im Modell und Schnittstellen und Dienste bestimmten Objekten zugeordnet ist. Darüber hinaus werden die Tabellen einzeln anderen Schnittstellen aufgeführt, die in der Projekterstellung und Wartung abhängig von den Anforderungen des speziellen Projekttyps sind optional.

Weitere Informationen finden Sie unter Symbol-Durchsuchen Tools unterstützen.

Paket - Objekt

Schnittstelle

Kommentare

IVsPackage

Initialisiert ein VSPackage in der IDE und macht seine Dienste für die IDE verfügbar.

Projekt-Factory Objekt

Schnittstelle

Kommentare

IVsProjectFactory

Verwaltet das Erstellen neuer Projekte und das Öffnen von vorhandenen Projekten.

Projektobjekte

Schnittstellen

Kommentare

IVsProject3

Verwaltet das Hinzufügen und Entfernen von Projektelementen, öffnet Editoren und behält moniker Zuordnung zwischen den einzelnen Dokumenten und VSITEMIDbei. Erbt von IVsProject und IVsProject2.

IVsHierarchy

Verwaltet Navigations- und Anzeigeeigenschaften und stellt Ereignisse bereit.

IVsUIHierarchy

Aktiviert die Ausführung des Befehls, die der von IOleCommandTarget für Befehle Ausschneiden und ist ähnlich wie die Umbenennen, gelten nur dann, wenn der Fokus im Projektmappen-Explorer ausgewählt wird.

IOleCommandTarget

Fungiert als die primäre Befehlsziel Oberfläche für eine Projekthierarchie. Es handelt sich um die Standardschnittstelle zum Abfragen von Objekten für den Befehlsstatus oder Zustand und ausgeführten Befehle. Verfügbar, wenn Sie im Fenster Projekt verwendet werden.

IPersistFileFormat

Koordiniert die Dauerhaftigkeit des Projekts zustandes. In der Regel wird der Zustand gespeichert, kann jedoch als Projektdatei speichern systemen angepasst werden, die nicht dateibasierten sind.

IVsPersistHierarchyItem2

Aktiviert das Projekt, um alle Aspekte der Persistenz für die zugehörigen Projektelemente, entweder als Dateien auf dem Datenträger oder Objekte in anderen Speicher systemen zu verwalten. Die IVsPeristHierarchyItem2-Schnittstelle wird für Elemente verwendet, die nicht die IVsPersistDocData2-Schnittstelle implementieren.

IVsSccProject2

Koordiniert Interaktionen mit Quellcodeverwaltung.

IVsProjectFlavorCfgProvider

Aktiviert Projekte, Konfigurationsinformationen zu verwalten.

IVsCfgProvider2

Verwaltet Projektkonfiguration Objekte, z. B. Debug- und Releasekonfigurationen. Erstellen, Bereitstellen und Debugvorgänge werden durch Projektkonfiguration Objekte koordiniert.

IVsHierarchyDeleteHandler

Wird von Hierarchien, um die Löschung zu steuern (destruktiv) oder (zerstörungsfreie), Optionen für Hierarchien Elemente zu entfernen. Rufen Sie Abfragen-Schnittstelle auf der IVsHierarchyDeleteHandler-Schnittstelle aus der IVsHierarchy-Schnittstelle an.

IVsGetCfgProvider

Stellt die Option Implementierung des, des Objekts bereit, das die IVsCfgProvider2-Schnittstelle auf einer anderen COM-Identität als das Projektobjekt unterstützt, die die IVsHierarchy-Schnittstelle implementiert.

IVsProjectStartupServices

Optionale Schnittstelle implementiert, um das Projekt erweiterbar von anderen Entwicklern zu machen. Die IVsProjectStartupServices-Schnittstelle ermöglicht einem Drittanbieter einem VSPackage, um eine GUID zu registrieren, das Sie in die Projektdatei, sodass jedes Mal, lädt das Projekt laden Sie den Dienst eines Drittanbieters GUID in die Projektdatei und führen den Aufruf QueryService für diesen GUID beibehalten.

IVsUIHierWinClipboardHelperEvents

Wird von Quellspalten hierarchien in einem UIHierarchy Fenster, um Vorgänge wie Ausschneiden und Kopieren in die Zwischenablage und Einfügen zu koordinieren. Verwenden Sie die AdviseClipboardHelperEvents Zwischenablage Schnittstelle, um Ereignisse zu registrieren.

IVsHierarchyDropDataSource2

Stellt Informationen über ein gezogenes Element relativ zu dessen Datenquelle während eines Drag & Drop-Vorgangs in einem Fenster Benutzeroberfläche-Hierarchien bereit. Wird von der IVsHierarchy-Schnittstelle.

IVsHierarchyDropDataTarget

Stellt Informationen über ein gezogenes Element relativ zum Ablageziel während eines Drag & Drop-Vorgangs in einem Fenster Benutzeroberfläche-Hierarchien bereit. Wird von der IVsHierarchy-Schnittstelle.

Konfigurationsobjekt.

Schnittstellen

Kommentare

IVsCfg

Stellt Informationen zu einer Konfiguration bereit.

IVsProjectCfg2

Aktiviert Projekte, Konfigurationsinformationen zu verwalten.

IVsDebuggableProjectCfg

Aktiviert ein Projekt mit Kontrolle des Debuggers ausgeführt werden.

IVsDeployableProjectCfg

Wird von Bereitstellungsprojekten, die Bereitstellungseigenschaften für andere Projekte Vorgänge ausführen.

Konfigurations-Generator Objekt

Schnittstellen

Kommentare

IVsBuildableProjectCfg

Verwaltet den Buildvorgang einer Projektkonfiguration.

Zusätzliche Projektobjekte

Schnittstellen

Kommentare

IDispatch

ISpecifyPropertyPages

Zeigt Eigenschaften-Elementeigenschaften im Fenster angezeigt.

IVsOutput2

IVsEnumOutputs

Zeigt Ausgaben für die Bereitstellung.

In der folgenden Tabelle werden die kurze Beschreibungen der Dienste dar, die im Projektmodell identifiziert werden.

Dienste

Dienst

Kommentare

SVsRegisterProjectTypes

Wird von VSPackages das Projekttypen implementieren, um zu registrieren, dass das Projekt factory mit der IDE vorhanden ist. VSPackage muss QueryService für diesen Dienst aufrufen und die zugehörige Projekt factory registrieren, wenn IVsPackage::SetSite-Methode aufgerufen wird. Wenn die SetSite-Methode nicht aufgerufen wird, wird das Projekt nicht instanziiert wird.

SVsSolution

Bietet Zugriff auf den internen IDE integrierten Konzept der aktuellen Projektmappe enthaltenen Projekte, z. B. die Fähigkeit, neue Projekte erstellt wird, listen erwähnt, Änderungen am Projekt usw.

SVsSccManager

Wird von Projekten, die an der Quellcodeverwaltung teilnehmen möchten.

SVsRunningDocumentTable

Wartet, bis eine Tabelle aus geöffneten Dokumenten, um festzustellen, ob eines oder mehrere der Projektelemente bereits geöffnet sind.

SVsUIShellOpenDocument

Enthält den Schnittstellen und Methoden, die aufgerufen werden, um ein Projektelement mit dem Standardwert editors oder eines bestimmten Editors tatsächlich zu öffnen.

SVsTrackProjectDocuments

Erforderlich, um alle Projekte aufgerufen werden soll, wenn sie Hinzufügen, Entfernen oder Umbenennen ihre Elemente.

SVsFileChangeEx

Verwaltet Änderungen an einer Datei oder einem Verzeichnis und Clients benachrichtigt, wenn ausgewählte Dateien auf dem Datenträger geändert wurden.

SVsQueryEditQuerySave

Erforderlich, von allen Projekten und Editoren aufgerufen werden, bevor sie modifizierte Elemente speichern oder sie.

SVsSolutionBuildManager

Verwaltet die Reihenfolge der Vorgänge für Build und Bereitstellung Projektkonfigurationen.

SVsShellDebugger

Ermöglicht den Zugriff auf Dienste Debugger auf niedriger Ebene, die für die meisten Steuerelemente Debuggen verwendet werden.

SVsShellMonitorSelection

Aktiviert VSPackages-Informationszugang über aktuelle Auswahl und ermöglicht die Kommunikation mit dem Eigenschaften Fenster.

SVsUIShell

Stellt grundlegende Benutzeroberfläche-verknüpfte IDE-Funktionalität, z. B. die Fähigkeit, Tool- oder Dokumentfenster zu erstellen oder ein Fehler aufzulisten und zu melden den Benutzer bereit.

SVsStatusbar

Ermöglicht den Zugriff auf die Statusleiste der IDE.

IVsExtensibility3

Wird verwendet, um das Automatisierungsmodell zu implementieren. Geben Sie im Projektmodell ein Properties-Objekt zurück, mit dem Sie eine Instanz dieses Objekts erstellt wird.

SVsUIHierWinClipboardHelper

Wird verwendet, um Ereignisse Zwischenablage auf dem Projektobjekt in der Hierarchie zu implementieren. SVsUIHierWinClipboardHelper ordnungsgemäß können Sie Ausschneiden, Kopieren und Einfügen behandeln.

Siehe auch

Referenz

IOleCommandTarget

Konzepte

Prüfliste: Erstellen neuer Projekttypen

Symbol-Durchsuchen Tools unterstützen

Elemente eines Projekt-Modells

Weitere Ressourcen

Implementation of Project Interfaces Using HierUtil7