Sdílet prostřednictvím


Práce s pracovním prostorem

Vrstva Pracovních prostorů je výchozím bodem pro analýzu kódu a refaktoring pro celá řešení. V této vrstvě vám rozhraní API pracovního prostoru pomůže uspořádat všechny informace o projektech v řešení do jednoho objektového modelu a nabízí přímý přístup k modelům objektů vrstvy kompilátoru, jako je zdrojový text, stromy syntaxe, sémantické modely a kompilace, aniž byste museli analyzovat soubory, konfigurovat možnosti nebo spravovat závislosti mezi projekty.

Prostředí hostitelů, jako je integrované vývojové prostředí, poskytují pracovní prostor, který odpovídá otevřenému řešení. Tento model je také možné použít mimo integrované vývojové prostředí (IDE) jednoduše načtením souboru řešení.

Pracovní prostor

Pracovní prostor je aktivní reprezentace vašeho řešení jako kolekce projektů, z nichž každý má kolekci dokumentů. Pracovní prostor je obvykle svázaný s hostitelským prostředím, které se neustále mění jako typy uživatelů nebo manipuluje s vlastnostmi.

Poskytuje Workspace přístup k aktuálnímu modelu řešení. Když dojde ke změně hostitelského prostředí, pracovní prostor aktivuje odpovídající události a Workspace.CurrentSolution vlastnost se aktualizuje. Když například uživatel zadá do textového editoru odpovídající jednomu ze zdrojových dokumentů, pracovní prostor použije událost, která signaluje, že se změnil celkový model řešení a který dokument byl změněn. Na tyto změny pak můžete reagovat analýzou nového modelu z hlediska správnosti, zvýraznění oblastí významnosti nebo vytvořením návrhu změny kódu.

Můžete také vytvořit samostatné pracovní prostory, které jsou odpojené od hostitelského prostředí nebo použity v aplikaci, která nemá žádné hostitelské prostředí.

Řešení, projekty a dokumenty

I když se pracovní prostor může při každém stisknutí klávesy změnit, můžete pracovat s modelem řešení izolovaně.

Řešení je neměnný model projektů a dokumentů. To znamená, že model je možné sdílet bez uzamčení nebo duplikace. Po získání instance řešení z Workspace.CurrentSolution vlastnosti se tato instance nikdy nezmění. Podobně jako u stromů syntaxe a kompilací ale můžete upravit řešení tak, že vytvoříte nové instance na základě existujících řešení a konkrétních změn. Pokud chcete získat pracovní prostor tak, aby odrážel vaše změny, musíte u pracovního prostoru explicitně použít změněné řešení.

Projekt je součástí celkového neměnného modelu řešení. Představuje všechny dokumenty zdrojového kódu, parsování a možnosti kompilace a odkazy na sestavení i projekt-projekt. Z projektu můžete získat přístup k odpovídající kompilaci, aniž byste museli určit závislosti projektu nebo analyzovat všechny zdrojové soubory.

Dokument je také součástí celkového neměnného modelu řešení. Dokument představuje jeden zdrojový soubor, ze kterého můžete získat přístup k textu souboru, stromu syntaxe a sémantickému modelu.

Následující diagram znázorňuje, jak pracovní prostor souvisí s hostitelským prostředím, nástroji a způsobem úprav.

the relationships between different elements of a workspace containing projects and source files

Shrnutí

Roslyn zveřejňuje sadu rozhraní API kompilátoru a rozhraní API pracovních prostorů, která poskytuje bohaté informace o zdrojovém kódu a které mají plnou věrnost jazykům C# a Visual Basic. Sada .NET Compiler Platform SDK výrazně snižuje bariéru pro vytváření nástrojů a aplikací zaměřených na kód. Vytváří mnoho příležitostí pro inovace v oblastech, jako je metaprogramování, generování kódu a transformace, interaktivní použití jazyků C# a Visual Basic a vkládání jazyka C# a Visual Basic v jazycích specifických pro doménu.