Prvky modelu projektu
Rozhraní a implementace všech projektů v sadě Visual Studio sdílejí základní strukturu: model projektu pro váš typ projektu. V modelu projektu, což je sada VSPackage, kterou vyvíjíte, vytváříte objekty, které splňují vaše rozhodnutí o návrhu a spolupracují s globálními funkcemi poskytovanými integrovaným vývojovým prostředím. I když řídíte, jak je položka projektu trvalá, například neřídíte oznámení, že soubor musí být trvalý. Když uživatel umístí fokus na položku otevřeného projektu a zvolí možnost Uložit v nabídce Soubor na řádku nabídek sady Visual Studio, musí kód typu projektu zachytit příkaz z integrovaného vývojového prostředí (IDE), zachovat soubor a odeslat oznámení zpět do integrovaného vývojového prostředí (IDE), že se soubor už nezmění.
Balíček VSPackage komunikuje s integrovaným vývojovém prostředím (IDE) prostřednictvím služeb, které poskytují přístup k rozhraním IDE. Prostřednictvím konkrétních služeb například monitorujete a směrujete příkazy a poskytnete kontextové informace pro výběry provedené v projektu. Všechny globální funkce integrovaného vývojového prostředí (IDE) potřebné pro váš balíček VSPackage poskytují služby. Další informace o službách naleznete v tématu Postupy: Získání služby.
Další aspekty implementace:
Jeden projektový model může obsahovat více než jeden typ projektu.
Typy projektů a objekty pro vytváření projektových systému jsou registrovány nezávisle na identifikátorech GUID.
Každý projekt musí mít soubor šablony nebo průvodce, aby inicializoval nový soubor projektu, když uživatel vytvoří nový projekt prostřednictvím uživatelského rozhraní sady Visual Studio. Například šablony Visual C++ inicializují, co se nakonec stane soubory .vcproj.
Následující obrázek znázorňuje primární rozhraní, služby a objekty, které tvoří typickou implementaci projektu. Pomocnou rutinu
HierUtil7
aplikace můžete použít k vytvoření podkladových objektů a dalších programovacích objektů. Další informace o pomocnémHierUtil7
procesu aplikace naleznete v tématu Použití tříd projektu HierUtil7 k implementaci typu projektu (C++).model projektu
Další informace o rozhraních a službách uvedených v předchozím diagramu a dalších volitelných rozhraních, která nejsou součástí diagramu, najdete v tématu Základní komponenty modelu projektu.
Projekty mohou podporovat příkazy, a proto musí implementovat IOleCommandTarget rozhraní pro účast ve směrování příkazů prostřednictvím identifikátorů GUID kontextu příkazu.