Dela via


Kodanalys med hjälp av .NET-kompilatorplattformsanalyser (Roslyn)

.NET-kompilatorplattformsanalyserare (Roslyn) inspekterar din C# eller Visual Basic-kod för stil, kvalitet, underhåll, design och andra problem. Den här inspektionen eller analysen sker under designtiden i alla öppna filer.

Analysverktygen är indelade i följande grupper:

Allvarlighetsgrad för analysatorer

Varje Roslyn-analysregel, eller diagnostik, har ett standardtillstånd för allvarlighetsgrad och undertryckning som du kan anpassa för projektet.

Allvarlighetsgraderna är: Fel, Varning, Förslag, Tyst, Ingen och Standard. Detaljerad information och beteende finns i Konfigurera allvarlighetsgradsnivåer.

Regelöverträdelser

Om en analysator hittar några överträdelser av analysregeln rapporterar den dem i fönstret Fellista och i kodredigeraren.

Följande skärmbild visar regelöverträdelser som rapporterats i fönstret Fellista . De överträdelser av analyseraren som rapporteras i fellistan matchar allvarlighetsgradsinställningen för regeln:

Skärmbild som visar analysatorfel i fönstret Fel- och varningslista.

Överträdelser av analysregler visas också i kodredigeraren som vågiga linjer under den anstötliga koden. Följande skärmbild visar till exempel tre överträdelser: ett fel (röd vågrät linje), en varning (grön vågrät linje) och ett förslag (tre grå punkter):

Skärmbild som visar fel-, varnings- och förslagsmarkeringar i kodredigeraren.

Kodkorrigeringar

Många diagnostiker har en eller flera associerade kodkorrigeringar som du kan tillämpa för att korrigera regelöverträdelsen. Kodkorrigeringar visas i menyn med glödlampans ikon tillsammans med andra typer av snabbåtgärder. Mer information om kodkorrigeringar finns i Vanliga snabbåtgärder.

Skärmbild som visar en analysfel och snabbåtgärdskodkorrigering i kodredigeraren.

Konfigurera allvarlighetsnivåer för analysverktyg

Du kan konfigurera allvarlighetsgraden för analysregler i en EditorConfig-fil eller från glödlampans meny.

Du kan också konfigurera analysverktyg för att inspektera kod vid byggtid och när du skriver. Du kan konfigurera omfånget för livekodanalys så att den endast körs för det aktuella dokumentet, alla öppna dokument eller hela lösningen. Mer information finns i Konfigurera livekodanalys för .NET.

Tips/Råd

Build-time-fel och varningar från kodanalysverktyg visas endast om analysverktygen installeras som ett NuGet-paket. De inbyggda analysverktygen (till exempel IDE0067 och IDE0068) körs aldrig under bygget.

Installera externa kodanalysverktyg

Visual Studio innehåller en grundläggande uppsättning Roslyn-analysverktyg som alltid är aktiva. Om du behöver fler kodanalyserare kan du installera externa analysverktyg för varje projekt via ett NuGet-paket. Vissa analysverktyg är också tillgängliga som ett Visual Studio .vsix-tillägg , i vilket fall de gäller för alla lösningar som du öppnar i Visual Studio. Information om hur du installerar dessa två olika typer av analysverktyg finns i Installera kodanalysverktyg.

Omfång

Om du installerar en analysator som ett NuGet-paket, den bästa metoden för externa analysverktyg, gäller den endast för projektet där NuGet-paketet är installerat. Annars gäller det på lösningsnivå och för alla instanser av Visual Studio om du installerar en analysator som ett Visual Studio-tillägg. I teammiljöer är en analysator som installeras som ett NuGet-paket tillgänglig för alla utvecklare som arbetar med projektet.

Anmärkning

Analysverktyg från första part levereras i .NET SDK. Det är bättre att du aktiverar dessa analysverktyg från .NET SDK i stället för att installera dem som ett Microsoft.CodeAnalysis.NetAnalyzersNuGet-paket. Om du aktiverar analysverktygen från .NET SDK ser du till att du automatiskt får felkorrigeringar för analysverktyg och nya analysverktyg så snart du uppdaterar SDK:n. Mer information om analysverktyg finns i Aktivera eller installera .NET-analysverktyg från första part.

Build-fel

Om du vill framtvinga reglerna vid bygget väljer du något av följande alternativ genom att antingen använda kommandoradsversioner eller ci-versioner (kontinuerlig integrering):

  • Skapa ett .NET 5.0- eller senare projekt som möjliggör kodanalys som standard. Om du vill aktivera kodanalys för projekt som riktar sig mot tidigare .NET-versioner anger du egenskapen EnableNETAnalyzers till true.

  • Installera analysverktygen som ett NuGet-paket. Om du installerar analysverktygen som ett Visual Studio-tillägg visas inte analysvarningar och fel i byggrapporten.

Följande skärmbild visar kommandoradsversionens utdata från att skapa ett projekt som innehåller en regelöverträdelse för analysverktyg:

Skärmbild som visar en MSBuild-utdata med en regelöverträdelse i en kommandotolk för utvecklare.

Allvarlighetsgrad för regel

Om du vill konfigurera allvarlighetsgraden för analysregeln för externa analysverktyg måste du installera analysatorn som ett NuGet-paket. Du kan inte konfigurera regel allvarlighetsgrad från analysverktyg som har installerats som ett Visual Studio-tillägg.

Nästa steg