Sdílet prostřednictvím


Sada .NET Compiler Platform SDK

Kompilátory vytvářejí podrobný model kódu aplikace, protože ověřují syntaxi a sémantiku tohoto kódu. Tento model používají k sestavení spustitelného výstupu ze zdrojového kódu. Sada .NET Compiler Platform SDK poskytuje přístup k tomuto modelu. Stále častěji spoléháme na funkce integrovaného vývojového prostředí (IDE), jako je IntelliSense, refaktoring, inteligentní přejmenování, hledání všech odkazů a přechod k definici, abychom zvýšili produktivitu. Spoléháme na nástroje pro analýzu kódu, abychom zlepšili kvalitu kódu a generátory kódu, které nám pomůžou při vytváření aplikací. Vzhledem k tomu, že tyto nástroje jsou chytřejší, potřebují přístup k více a více modelu, který vytváří pouze kompilátory při zpracování kódu aplikace. Toto je základní poslání rozhraní Roslyn API: otevírat neprůhledné krabice a umožnit nástrojům a koncovým uživatelům sdílet bohatství informací, která kompilátory mají o našem kódu. Místo neprůhlhlých překladačů zdrojového kódu a objektového kódu se kompilátory přes Roslyn stanou platformami: rozhraní API, která můžete použít pro úlohy související s kódem ve svých nástrojích a aplikacích.

Koncepty sady .NET Compiler Platform SDK

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.

Sada .NET Compiler Platform SDK umožňuje vytvářet analyzátory a opravy kódu , které vyhledá a opravují chyby kódování. Analyzátory rozumí syntaxi (struktuře kódu) a sémantika pro detekci postupů, které by se měly opravit. Opravy kódu poskytují jednu nebo více navrhovaných oprav pro řešení chyb kódování zjištěných analyzátory nebo diagnostikou kompilátoru. Analyzátor a přidružené opravy kódu se obvykle zabalí do jednoho projektu.

Analyzátory a opravy kódu používají statickou analýzu k pochopení kódu. Nespouštějí kód ani neposkytují jiné výhody testování. Mohou však upozornit na postupy, které často vedou k chybám, nedodržitelnému kódu nebo standardnímu porušení pokynů.

Kromě analyzátorů a oprav kódu umožňuje sada .NET Compiler Platform SDK také vytvářet refaktoringy kódu. Poskytuje také jednu sadu rozhraní API, která umožňují zkoumat a rozumět základu kódu jazyka C# nebo Visual Basic. Vzhledem k tomu, že můžete použít tento jediný základ kódu, můžete snadněji psát analyzátory a opravy kódu pomocí syntaktických a sémantických analytických rozhraní API poskytovaných sadou .NET Compiler Platform SDK. Uvolní se z velkého úkolu replikace analýzy provedené kompilátorem, můžete se soustředit na konkrétnější úkol hledání a opravy běžných chyb kódování pro váš projekt nebo knihovnu.

Menší výhodou je, že analyzátory a opravy kódu jsou menší a při načítání v sadě Visual Studio používají mnohem méně paměti, než kdybyste napsali vlastní základ kódu, abyste porozuměli kódu v projektu. Pomocí stejných tříd používaných kompilátorem a sadou Visual Studio můžete vytvořit vlastní nástroje pro statickou analýzu. To znamená, že váš tým může používat analyzátory a opravy kódu bez znatelného dopadu na výkon integrovaného vývojového prostředí( IDE).

Existují tři hlavní scénáře pro psaní analyzátorů a oprav kódu:

  1. Vynucujte týmové standardy kódování
  2. Pokyny k balíčkům knihoven
  3. Poskytnutí obecných pokynů

Vynucování standardů pro kódování týmu

Mnoho týmů má standardy kódování, které se vynucují prostřednictvím kontrol kódu s ostatními členy týmu. Analyzátory a opravy kódu můžou tento proces výrazně zefektivnit. Ke kontrolám kódu dochází, když vývojář sdílí svoji práci s ostatními v týmu. Vývojář bude mít investováno veškerý čas potřebný k dokončení nové funkce předtím, než získá jakékoli komentáře. Týdny můžou jít, zatímco vývojář posiluje návyky, které neodpovídají postupům týmu.

Analyzátory běží, zatímco vývojář zapisuje kód. Vývojář dostane okamžitou zpětnou vazbu, která okamžitě podporuje sledování pokynů. Vývojář vytváří návyky pro psaní kompatibilního kódu hned po zahájení vytváření prototypů. Až bude funkce připravená k přezkoumání lidmi, budou dodrženy veškeré standardní pokyny.

Týmy můžou vytvářet analyzátory a opravy kódu, které hledají nejběžnější postupy, které porušují postupy týmového kódování. Ty se dají nainstalovat na každém vývojářském počítači, aby se dodržování standardů vynucovalo.

Návod

Před vytvořením vlastního analyzátoru prozkoumejte vestavěné analyzátory. Další informace naleznete v tématu Pravidla stylu kódu.

Pokyny k balíčkům knihoven

Na NuGetu je k dispozici spousta knihoven pro vývojáře .NET. Některé z nich pocházejí z Microsoftu, některé od společností třetích stran a jiné od členů komunity a dobrovolníků. Tyto knihovny získají větší přijetí a vyšší hodnocení, když vývojáři můžou s těmito knihovnami uspět.

Kromě poskytování dokumentace můžete poskytnout analyzátory a opravy kódu, které vyhledá a opravují běžné nesprávné použití knihovny. Tyto okamžité opravy pomůžou vývojářům rychleji uspět.

Analyzátory a opravy kódu můžete zabalit ve vaší knihovně na NuGetu. V tomto scénáři nainstaluje balíček analyzátoru také každý vývojář, který nainstaluje váš balíček NuGet. Všichni vývojáři používající vaši knihovnu okamžitě získají pokyny od vašeho týmu ve formě okamžité zpětné vazby k chybám a navrhovaným opravám.

Poskytnutí obecných pokynů

Komunita vývojářů .NET zjistila vzory, které dobře fungují a vzory, kterým se nejlépe vyhnete. Několik členů komunity vytvořilo analyzátory, které tyto doporučené vzory vynucují. S tím, jak se dozvíme více, je vždy prostor pro nové nápady.

Tyto analyzátory je možné nahrát na Visual Studio Marketplace a stáhnout je vývojáři pomocí sady Visual Studio. Noví uživatelé jazyka a platforma se učí akceptované postupy rychle a stávají se produktivními dříve na své cestě k .NET. S tím, jak se tyto postupy častěji používají, komunita tyto postupy přijme.

Generátory zdrojů

Generátory zdrojů mají za cíl povolit metaprogramování času kompilace, tj. kód, který lze vytvořit v době kompilace a přidat do kompilace. Zdrojové generátory můžou před spuštěním číst obsah kompilace a přistupovat ke všem dalším souborům. Tato schopnost jim umožňuje introspektovat jak kód uživatelského jazyka C#, tak soubory specifické pro generátory. Dozvíte se, jak vytvářet generátory přírůstkových zdrojů pomocí příručky pro generátor zdrojů.

Další kroky

Sada .NET Compiler Platform SDK obsahuje nejnovější jazykové objektové modely pro generování, analýzu a refaktoring. Tato část obsahuje koncepční přehled sady .NET Compiler Platform SDK. Další podrobnosti najdete v částech rychlých startů, ukázek a kurzů.

Další informace o konceptech v sadě .NET Compiler Platform SDK najdete v těchto pěti tématech:

Abyste mohli začít, budete muset nainstalovat sadu .NET Compiler Platform SDK:

Pokyny k instalaci – Instalační program sady Visual Studio

Sada .NET Compiler Platform SDK v instalačním programu sady Visual Studio se dá najít dvěma různými způsoby:

Instalace pomocí instalačního programu sady Visual Studio – zobrazení úloh

Sada .NET Compiler Platform SDK není automaticky vybrána jako součást sady funkcí pro vývoj rozšíření sady Visual Studio. Musíte ho vybrat jako volitelnou komponentu.

  1. Spuštění instalačního programu sady Visual Studio
  2. Vyberte Upravit.
  3. Zkontrolujte pracovní úlohu vývoje rozšíření pro Visual Studio.
  4. Rozbalte uzel vývoje rozšíření sady Visual Studio ve stromu přehledů.
  5. Zaškrtněte to okénko pro sadu .NET Compiler Platform SDK. Najdete ho jako poslední v volitelných součástech.

Volitelně můžete také chtít, aby editor DGML zobrazoval grafy ve vizualizéru:

  1. Otevřete uzel Jednotlivé komponenty v přehledovém stromu.
  2. Zaškrtněte políčko editoru DGML.

Instalace pomocí instalačního programu sady Visual Studio – karta Jednotlivé komponenty

  1. Spuštění instalačního programu sady Visual Studio
  2. Vyberte Upravit.
  3. Vyberte kartu Jednotlivé součásti
  4. Zaškrtněte to okénko pro sadu .NET Compiler Platform SDK. Najdete ho v horní části v části Kompilátory, nástroje sestavení a moduly runtime .

Volitelně můžete také chtít, aby editor DGML zobrazoval grafy ve vizualizéru:

  1. Zaškrtněte políčko pro editor DGML. Najdete ho v části Nástroje kódu .