The .NET Compiler Platform SDK

Kompilatorer skapar en detaljerad modell av programkod när de validerar syntaxen och semantiken för koden. De använder den här modellen för att skapa körbara utdata från källkoden. .NET Compiler Platform SDK ger åtkomst till den här modellen. I allt högre grad förlitar vi oss på IDE-funktioner (Integrated Development Environment) som IntelliSense, refaktorisering, intelligent namnbyte, "Hitta alla referenser" och "Gå till definition" för att öka vår produktivitet. Vi förlitar oss på kodanalysverktyg för att förbättra vår kodkvalitet och kodgeneratorer för att underlätta programkonstruktionen. När de här verktygen blir smartare behöver de åtkomst till fler och fler av de modeller som endast kompilatorer skapar när de bearbetar programkod. Det här är kärnan i Roslyn-API:erna: att öppna de täckande rutorna och låta verktyg och slutanvändare dela med sig av den mängd information som kompilatorer har om vår kod. I stället för att vara ogenomskinliga källkodsöversättare och objektkodade översättare blir kompilatorer via Roslyn plattformar: API:er som du kan använda för kodrelaterade uppgifter i dina verktyg och program.

Koncept för .NET Compiler Platform SDK

.NET Compiler Platform SDK sänker dramatiskt inträdesbarriären för att skapa kodfokuserade verktyg och program. Det skapar många möjligheter till innovation inom områden som metaprogrammering, kodgenerering och transformering, interaktiv användning av C# och Visual Basic språk samt inbäddning av C# och Visual Basic i domänspecifika språk.

Med .NET Compiler Platform SDK kan du skapa analysverktyg och kodkorrigeringar som hittar och korrigerar kodfel. Analysverktygen förstår syntaxen (kodstrukturen) och semantiken för att identifiera metoder som ska korrigeras. Kodkorrigeringar ger en eller flera föreslagna korrigeringar för att åtgärda kodningsfel som hittas av analysverktyg eller kompilatordiagnostik. Vanligtvis paketeras en analysator och tillhörande kodkorrigeringar tillsammans i ett enda projekt.

Analysverktyg och kodkorrigeringar använder statisk analys för att förstå kod. De kör inte koden eller ger andra testfördelar. De kan dock påpeka metoder som ofta leder till buggar, ouppnåelig kod eller standardanvisningsöverträdelser.

Förutom analysverktyg och kodkorrigeringar kan du även skapa kodrefaktoriseringar med .NET Compiler Platform SDK. Den innehåller också en enda uppsättning API:er som gör att du kan undersöka och förstå en C# eller Visual Basic kodbas. Eftersom du kan använda den här enkla kodbasen kan du skriva analysverktyg och kodkorrigeringar enklare genom att utnyttja de syntaktiska och semantiska analys-API:er som tillhandahålls av .NET Compiler Platform SDK. Befriad från den stora uppgiften att replikera analysen som gjorts av kompilatorn kan du koncentrera dig på den mer fokuserade uppgiften att hitta och åtgärda vanliga kodningsfel för projektet eller biblioteket.

En mindre fördel är att dina analysverktyg och kodkorrigeringar är mindre och använder mycket mindre minne när de läses in i Visual Studio än om du skrev en egen kodbas för att förstå koden i ett projekt. Genom att använda samma klasser som används av kompilatorn och Visual Studio kan du skapa egna statiska analysverktyg. Det innebär att ditt team kan använda analysverktyg och kodkorrigeringar utan någon märkbar inverkan på IDE:s prestanda.

Det finns tre huvudsakliga scenarier för att skriva analysverktyg och kodkorrigeringar:

  1. Framtvinga kodningsstandarder för team
  2. Ge vägledning med bibliotekspaket
  3. Ge allmän vägledning

Framtvinga kodningsstandarder för team

Många team har kodningsstandarder som tillämpas via kodgranskningar med andra teammedlemmar. Analysverktyg och kodkorrigeringar kan göra den här processen mycket mer effektiv. Kodgranskningar sker när en utvecklare delar sitt arbete med andra i teamet. Utvecklaren har investerat all tid som krävs för att slutföra en ny funktion innan de får några kommentarer. Veckor kan gå medan utvecklaren förstärker vanor som inte matchar teamets metoder.

Analysverktyg körs som utvecklare och skriver kod. Utvecklaren får omedelbar feedback som uppmuntrar till att följa vägledningen omedelbart. Utvecklaren skapar vanor för att skriva kompatibel kod så snart de påbörjar prototyper. När funktionen är klar för människor att granska har all standardvägledning tillämpats.

Teams kan skapa analysverktyg och kodkorrigeringar som letar efter de vanligaste metoderna som bryter mot teamkodningsmetoder. Dessa kan installeras på varje utvecklares dator för att tillämpa standarderna.

Tips

Innan du skapar en egen analys kan du titta på de inbyggda. Mer information finns i Regler i kodformat.

Ge vägledning med bibliotekspaket

Det finns en mängd bibliotek tillgängliga för .NET-utvecklare på NuGet. Några av dessa kommer från Microsoft, vissa från tredjepartsföretag och andra från communitymedlemmar och volontärer. De här biblioteken får mer implementering och högre granskningar när utvecklare kan lyckas med dessa bibliotek.

Förutom att tillhandahålla dokumentation kan du tillhandahålla analysverktyg och kodkorrigeringar som hittar och korrigerar vanliga felaktig användning av biblioteket. Dessa omedelbara korrigeringar hjälper utvecklare att lyckas snabbare.

Du kan paketera analysverktyg och kodkorrigeringar med ditt bibliotek på NuGet. I det scenariot installerar alla utvecklare som installerar Ditt NuGet-paket även analyspaketet. Alla utvecklare som använder ditt bibliotek får omedelbar vägledning från ditt team i form av omedelbar feedback om misstag och föreslagna korrigeringar.

Ge allmän vägledning

.NET-utvecklarcommunityn har genom erfarenhet upptäckt mönster som fungerar bra och mönster som bäst undviks. Flera community-medlemmar har skapat analysverktyg som framtvingar de rekommenderade mönstren. När vi lär oss mer finns det alltid plats för nya idéer.

Dessa analysverktyg kan laddas upp till Visual Studio Marketplace och laddas ned av utvecklare med hjälp av Visual Studio. Nybörjare på språket och plattformen lär sig accepterade metoder snabbt och blir produktiva tidigare i sin .NET-resa. I takt med att de används i större utsträckning antar communityn dessa metoder.

Nästa steg

.NET Compiler Platform SDK innehåller de senaste språkobjektmodellerna för kodgenerering, analys och refaktorisering. Det här avsnittet innehåller en konceptuell översikt över .NET Compiler Platform SDK. Mer information finns i avsnitten snabbstarter, exempel och självstudier.

Du kan lära dig mer om begreppen i .NET Compiler Platform SDK i följande fem avsnitt:

För att komma igång måste du installera .NET Compiler Platform SDK:

Installationsanvisningar – Visual Studio Installer

Det finns två olika sätt att hitta .NET Compiler Platform SDK i Visual Studio Installer:

Installera med vyn Visual Studio Installer – arbetsbelastningar

.NET Compiler Platform SDK väljs inte automatiskt som en del av arbetsbelastningen Visual Studio tilläggsutveckling. Du måste välja den som en valfri komponent.

  1. Kör Visual Studio installationsprogrammet
  2. Välj Ändra
  3. Kontrollera arbetsbelastningen för Visual Studio tilläggsutveckling.
  4. Öppna noden Visual Studio tilläggsutveckling i sammanfattningsträdet.
  5. Markera kryssrutan för .NET Compiler Platform SDK. Du hittar den sist under de valfria komponenterna.

Du vill också att DGML-redigeraren ska visa grafer i visualiseraren:

  1. Öppna noden Enskilda komponenter i sammanfattningsträdet.
  2. Markera kryssrutan för DGML-redigeraren

Installera med hjälp av fliken Visual Studio Installer – Enskilda komponenter

  1. Kör Visual Studio installationsprogrammet
  2. Välj Ändra
  3. Välj fliken Enskilda komponenter
  4. Markera kryssrutan för .NET Compiler Platform SDK. Du hittar den högst upp under avsnittet Kompilatorer, byggverktyg och körning.

Du vill också att DGML-redigeraren ska visa grafer i visualiseraren:

  1. Markera kryssrutan för DGML-redigeraren. Du hittar den under avsnittet Kodverktyg .