Sdílet prostřednictvím


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 HierUtil7aplikace můžete použít k vytvoření podkladových objektů a dalších programovacích objektů. Další informace o pomocném HierUtil7 procesu aplikace naleznete v tématu Použití tříd projektu HierUtil7 k implementaci typu projektu (C++).

    Obrázek modelu projektu sady Visual Studio

    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.