Sdílet prostřednictvím


Základní komponenty modelu projektu

Následující tabulky rozbalují model projektu. V tabulkách jsou uvedeny stručné popisy rozhraní a služeb identifikovaných v modelu a rozhraní a služeb přidružených ke konkrétním objektům. Kromě toho tabulky podrobně uvádějí další rozhraní, která jsou volitelná při vytváření a údržbě projektu v závislosti na požadavcích konkrétního typu projektu.

Další informace najdete v tématu Podpora nástrojů pro procházení symbolů.

Objekt balíčku

Rozhraní Poznámky
IVsPackage Inicializuje balíček VSPackage v integrovaném vývojovém prostředí a zpřístupní jeho služby integrovanému vývojovému prostředí (IDE).

Objekt Project Factory

Rozhraní Poznámky
IVsProjectFactory Spravuje vytváření nových projektů a otevírání existujících projektů.

Objekty projektu

Rozhraní Poznámky
IVsProject3 Spravuje přidávání a odebírání položek projektu, otevírá editory a udržuje mapování mezi jednotlivými monikery dokumentů a VSITEMID. Dědí z IVsProject a IVsProject2.
IVsHierarchy Spravuje navigační a zobrazované vlastnosti a poskytuje události.
IVsUIHierarchy Povolí provádění příkazů podobných IOleCommandTarget příkazům, jako jsou příkazy vyjmout a přejmenovat, které platí jenom v případě, že je fokus v Průzkumník řešení.
IOleCommandTarget Slouží jako primární cílové rozhraní příkazu pro hierarchii projektu. Jedná se o standardní rozhraní pro dotazování objektů na stav nebo stav příkazů a spouštění příkazů. K dispozici, pokud se v okně Project nezaměříte.
IPersistFileFormat Koordinuje trvalost stavu projektu. Stav projektu se obvykle ukládá jako soubor projektu, ale dá se přizpůsobit systémům úložiště, které nejsou založené na souborech.
IVsPersistHierarchyItem2 Umožňuje projektu spravovat všechny aspekty trvalosti pro své položky projektu, a to buď jako soubory na disku nebo objekty v jiných úložných systémech. Rozhraní IVsPersistHierarchyItem2 se používá pro položky, které neimplementují IVsPersistDocData2 rozhraní.
IVsSccProject2 Koordinuje interakce se správou zdrojového kódu.
IVsProjectFlavorCfgProvider Umožňuje projektům spravovat informace o konfiguraci.
IVsCfgProvider2 Spravuje objekty konfigurace projektu, jako jsou konfigurace ladění/verze. Operace sestavení, nasazení a ladění jsou koordinovány prostřednictvím objektů konfigurace projektu.
IVsHierarchyDeleteHandler Implementované hierarchiemi pro řízení možností odstranění (destruktivní) nebo odebrání (nedestruktivní) pro položky hierarchie. Volejte rozhraní dotazu na IVsHierarchyDeleteHandler rozhraní z IVsHierarchy rozhraní.
IVsGetCfgProvider Poskytuje možnost implementace objektu, který podporuje IVsCfgProvider2 rozhraní na jiné identitě modelu COM než objekt projektu, který implementuje IVsHierarchy rozhraní.
IVsProjectStartupServices Volitelné rozhraní implementované tak, aby byl projekt rozšiřitelný jinými vývojáři. Rozhraní IVsProjectStartupServices umožňuje rozšíření VSPackage jiného výrobce zaregistrovat identifikátor GUID, který budete uchovávat v souboru projektu, takže při každém načtení projektu načtete identifikátor GUID služby třetí strany do souboru projektu a zavoláte QueryService ho.
IVsUIHierWinClipboardHelperEvents Implementované zdrojovými hierarchiemi v UIHierarchy okně pro koordinaci operací schránky, jako jsou vyjmutí, kopírování a vložení. AdviseClipboardHelperEvents K registraci událostí schránky použijte rozhraní.
IVsHierarchyDropDataSource2 Poskytuje informace o přetahované položce vzhledem ke zdroji dat během operace přetažení v okně hierarchie uživatelského rozhraní. Volal z IVsHierarchy rozhraní.
IVsHierarchyDropDataTarget Poskytuje informace o přetahované položce vzhledem k cíli přetažení během operace přetažení v okně hierarchie uživatelského rozhraní. Volal z IVsHierarchy rozhraní.

Objekt konfigurace

Rozhraní Poznámky
IVsCfg Poskytuje informace o konfiguraci.
IVsProjectCfg2 Umožňuje projektům spravovat informace o konfiguraci.
IVsDebuggableProjectCfg Umožňuje spuštění projektu pod kontrolou ladicího programu.
IVsDeployableProjectCfg Implementují se projekty nasazení, které provádějí operace nasazení pro jiné projekty.

Objekt Configuration Builderu

Rozhraní Poznámky
IVsBuildableProjectCfg Spravuje operaci sestavení konfigurace projektu.

Další objekty aplikace Project

Rozhraní Poznámky
IDispatch

ISpecifyPropertyPages
Zobrazí vlastnosti položky v okně Vlastnosti .
IVsOutput2

IVsEnumOutputs
Zobrazí výstupy pro nasazení.

Následující tabulka obsahuje stručné popisy služeb identifikovaných v modelu projektu.

Služby

Service Poznámky
SVsRegisterProjectTypes Používá se balíčky VSPackage, které implementují typy projektů k registraci, že jejich objekt pro vytváření projektů existuje v integrovaném vývojovém prostředí (IDE). Balíček VSPackage musí volat QueryService pro tuto službu a zaregistrovat svou projektovou továrnu při IVsPackage::SetSite volání metody. SetSite Pokud metoda není volána, váš projekt není vytvořena instance.
SVsSolution Poskytuje přístup k internímu integrovanému vývojovému prostředí (IDE) integrovanému konceptu aktuálního řešení, jako je schopnost vytvářet výčet projektů, vytvářet nové projekty, upozornit na změny projektu atd.
SVsSccManager Volal projekty, které se chtějí účastnit správy zdrojového kódu.
SVsRunningDocumentTable Udržuje tabulku otevřených dokumentů, která určuje, jestli je již otevřená jedna nebo více položek projektu.
SVsUIShellOpenDocument Obsahuje rozhraní a metody volané k skutečnému otevření položky projektu pomocí standardního editoru nebo konkrétního editoru.
SVsTrackProjectDocuments Je nutné volat všechny projekty při přidávání, odebírání nebo přejmenování jejich položek.
SVsFileChangeEx Spravuje změny souboru nebo adresáře a upozorní klienty, když se na disku změnily vybrané soubory.
SVsQueryEditQuerySave Je nutné volat všechny projekty a editory předtím, než se zašpiní položky nebo je uloží.
SVsSolutionBuildManager Spravuje pořadí operací sestavení a nasazení pro konfigurace projektu.
SVsShellDebugger Poskytuje přístup ke službám ladicího programu nízké úrovně, které se používají pro většinu ovládacích prvků ladění.
SVsShellMonitorSelection Umožňuje VSPackages přístup k informacím o aktuálních výběrech a umožňuje komunikaci s oknem Vlastnosti .
SVsUIShell Poskytuje základní funkce integrovaného vývojového prostředí související s uživatelským rozhraním, jako je schopnost vytvářet a vyčíslovat okna nástrojů nebo okna dokumentů nebo hlásit uživateli chybu.
SVsStatusbar Poskytuje přístup ke stavovém řádku integrovaného vývojového prostředí (IDE).
IVsExtensibility3 Používá se k implementaci modelu automatizace. V modelu projektu vrátíte objekt vlastností, který umožňuje vytvořit instanci tohoto objektu.
SVsUIHierWinClipboardHelper Slouží k implementaci událostí schránky v objektu projektu v hierarchii. SVsUIHierWinClipboardHelper umožňuje správně zpracovávat operace vyjmutí, kopírování a vložení.

Viz také