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í. |