Udostępnij za pośrednictwem


Podstawowe składniki modelu projektu

Poniższe tabele rozszerzają model projektu. W tabelach przedstawiono krótkie opisy interfejsów i usług zidentyfikowanych w modelu oraz interfejsów i usług skojarzonych z określonymi obiektami. Ponadto tabele zawierają szczegółowe informacje o innych interfejsach, które są opcjonalne podczas tworzenia i konserwacji projektu w zależności od wymagań określonego typu projektu.

Aby uzyskać więcej informacji, zobacz Obsługa narzędzi przeglądania symboli.

Obiekt pakietu

Interfejs Komentarze
IVsPackage Inicjuje pakiet VSPackage w środowisku IDE i udostępnia swoje usługi środowisku IDE.

Obiekt fabryki projektu

Interfejs Komentarze
IVsProjectFactory Zarządza tworzeniem nowych projektów i otwieraniem istniejących projektów.

Obiekty projektu

Interfejsy Komentarze
IVsProject3 Zarządza dodawaniem i usuwaniem elementów projektu, otwiera edytory i obsługuje mapowanie między poszczególnymi monikerami VSITEMIDi . Dziedziczy z IVsProject i IVsProject2.
IVsHierarchy Zarządza właściwościami nawigacji i wyświetlania oraz udostępnia zdarzenia.
IVsUIHierarchy Włącza wykonywanie poleceń podobnych do IOleCommandTarget poleceń, takich jak wycinanie i zmienianie nazwy, które mają zastosowanie tylko wtedy, gdy fokus znajduje się w Eksplorator rozwiązań.
IOleCommandTarget Służy jako podstawowy interfejs docelowy poleceń dla hierarchii projektu. Jest to standardowy interfejs do wykonywania zapytań o obiekty dla ich stanu polecenia lub stanu i uruchomionych poleceń. Dostępne, gdy nie masz fokusu w oknie Projekt.
IPersistFileFormat Koordynuje trwałość stanu projektu. Zazwyczaj stan projektu jest przechowywany jako plik projektu, ale można go dostosować do systemów magazynowania, które nie są oparte na plikach.
IVsPersistHierarchyItem2 Umożliwia projektowi zarządzanie wszystkimi aspektami trwałości elementów projektu , jako plikami na dysku lub obiektami w innych systemach magazynowania. Interfejs IVsPersistHierarchyItem2 jest używany w przypadku elementów, które nie implementują interfejsu IVsPersistDocData2 .
IVsSccProject2 Koordynuje interakcje z kontrolą kodu źródłowego.
IVsProjectFlavorCfgProvider Umożliwia projektom zarządzanie informacjami o konfiguracji.
IVsCfgProvider2 Zarządza obiektami konfiguracji projektu, takimi jak konfiguracje debugowania/wydania. Operacje kompilowania, wdrażania i debugowania są koordynowane za pośrednictwem obiektów konfiguracji projektu.
IVsHierarchyDeleteHandler Zaimplementowane przez hierarchie w celu kontrolowania opcji usuwania (destruktywnego) lub usuwania (niedestrukcyjnych) dla elementów hierarchii. Wywołaj interfejs zapytania w interfejsie IVsHierarchyDeleteHandler z poziomu interfejsu IVsHierarchy .
IVsGetCfgProvider Zapewnia opcję implementacji obiektu, który obsługuje IVsCfgProvider2 interfejs w innej tożsamości COM niż obiekt projektu, który implementuje IVsHierarchy interfejs.
IVsProjectStartupServices Opcjonalny interfejs zaimplementowany w celu rozszerzenia projektu przez innych deweloperów. Interfejs IVsProjectStartupServices umożliwia pakietowi VSPackage innej firmy zarejestrowanie identyfikatora GUID utrwalonego w pliku projektu, dzięki czemu za każdym razem, gdy projekt zostanie załadowany, identyfikator GUID usługi innej firmy zostanie załadowany do pliku projektu i wywołanie QueryService tego identyfikatora GUID.
IVsUIHierWinClipboardHelperEvents Zaimplementowane przez hierarchie źródłowe w UIHierarchy oknie w celu koordynowania operacji schowka, takich jak wycinanie, kopiowanie i wklejanie. Użyj interfejsu AdviseClipboardHelperEvents , aby zarejestrować zdarzenia schowka.
IVsHierarchyDropDataSource2 Zawiera informacje o przeciąganym elemencie względem źródła danych podczas operacji przeciągania i upuszczania w oknie hierarchii interfejsu użytkownika. Wywoływana z interfejsu IVsHierarchy .
IVsHierarchyDropDataTarget Zawiera informacje o przeciąganym elemencie względem jego miejsca docelowego podczas operacji przeciągania i upuszczania w oknie hierarchii interfejsu użytkownika. Wywoływana z interfejsu IVsHierarchy .

Obiekt konfiguracji

Interfejsy Komentarze
IVsCfg Zawiera informacje o konfiguracji.
IVsProjectCfg2 Umożliwia projektom zarządzanie informacjami o konfiguracji.
IVsDebuggableProjectCfg Umożliwia uruchamianie projektu pod kontrolą debugera.
IVsDeployableProjectCfg Zaimplementowane przez projekty wdrażania, które wykonują operacje wdrażania dla innych projektów.

Obiekt konstruktora konfiguracji

Interfejsy Komentarze
IVsBuildableProjectCfg Zarządza operacją kompilacji konfiguracji projektu.

Dodatkowe obiekty projektu

Interfejsy Komentarze
IDispatch

ISpecifyPropertyPages
Wyświetla właściwości elementu w oknie Właściwości .
IVsOutput2

IVsEnumOutputs
Wyświetla dane wyjściowe wdrożenia.

W poniższej tabeli przedstawiono krótkie opisy usług zidentyfikowanych w modelu projektu.

Usługi

Service Komentarze
SVsRegisterProjectTypes Używany przez pakiety VSPackage, które implementują typy projektów, aby zarejestrować, że ich fabryka projektów istnieje w środowisku IDE. Pakiet VSPackage musi wywołać QueryService tę usługę i zarejestrować fabrykę projektu po IVsPackage::SetSite wywołaniu metody. SetSite Jeśli metoda nie zostanie wywołana, projekt nie zostanie utworzone.
SVsSolution Zapewnia dostęp do wewnętrznego, wbudowanego pojęcia bieżącego rozwiązania, takiego jak możliwość wyliczania projektów, tworzenia nowych projektów, powiadamiania o zmianach projektu itd.
SVsSccManager Wywoływane przez projekty, które chcą uczestniczyć w kontroli źródła.
SVsRunningDocumentTable Utrzymuje tabelę otwartych dokumentów, aby określić, czy co najmniej jeden element projektu jest już otwarty.
SVsUIShellOpenDocument Zawiera interfejsy i metody wywoływane w celu faktycznego otwarcia elementu projektu przy użyciu edytora standardowego lub określonego edytora.
SVsTrackProjectDocuments Wymagane do wywołania przez wszystkie projekty podczas dodawania, usuwania lub zmieniania nazwy elementów.
SVsFileChangeEx Zarządza zmianami w pliku lub katalogu i powiadamia klientów o zmianie wybranych plików na dysku.
SVsQueryEditQuerySave Wymagane do wywołania przez wszystkie projekty i edytory przed ich zanieczyszczonymi elementami lub zapisanie ich.
SVsSolutionBuildManager Zarządza kolejnością operacji kompilacji i wdrażania dla konfiguracji projektu.
SVsShellDebugger Zapewnia dostęp do usług debugera niskiego poziomu używanych w przypadku większości kontrolek debugowania.
SVsShellMonitorSelection Umożliwia pakietom VSPackage dostęp do informacji o bieżących wyborach i umożliwia komunikację z oknem Właściwości .
SVsUIShell Udostępnia podstawowe funkcje środowiska IDE związane z interfejsem użytkownika, takie jak możliwość tworzenia i wyliczania okien narzędzi lub okien dokumentów lub zgłaszania błędu użytkownikowi.
SVsStatusbar Zapewnia dostęp do paska stanu środowiska IDE.
IVsExtensibility3 Służy do implementowania modelu automatyzacji. W modelu projektu zostanie zwrócony obiekt właściwości, który umożliwia utworzenie wystąpienia tego obiektu.
SVsUIHierWinClipboardHelper Służy do implementowania zdarzeń schowka w obiekcie projektu w hierarchii. SVsUIHierWinClipboardHelper umożliwia poprawne obsługę operacji wycinania, kopiowania i wklejania.

Zobacz też