Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 |
|---|---|
IDispatchISpecifyPropertyPages |
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. |