Přehled analýzy zdrojového kódu

analyzátory .NET Compiler Platform (Roslyn) kontrolují kód v jazyce C# nebo Visual Basic ve stylu, kvalitě, udržovatelnosti, návrhu a dalších problémech. Tato kontrola nebo analýza se provádí během návrhu ve všech otevřených souborech.

Analyzátory lze rozdělit do následujících skupin:

  • Analyzátory stylu kódu jsou integrovány pro Visual Studio. ID diagnostiky nebo kód pro tyto analyzátory mají formát IDExxxx, například IDE0067. Předvolby můžete nakonfigurovat na stránce Možnosti textového editoru nebo v souboru EditorConfig. Počínaje rozhraním .NET 5,0 jsou analyzátory stylu kódu součástí sady .NET SDK a je možné je striktně vyhovět jako upozornění nebo chyby sestavení. Další informace najdete tady.

  • Analyzátory kvality kódu jsou nyní součástí sady .NET 5 SDK a jsou ve výchozím nastavení povoleny. ID diagnostiky nebo kód pro tyto analyzátory mají formát CAxxxx, například CA1822. Další informace najdete v tématu Přehled analýzy kvality kódu .NET.

  • analyzátory třetích stran je možné nainstalovat jako balíček NuGet nebo rozšíření Visual Studio. Analyzátory třetích stran, jako jsou StyleCop, Roslynator, XUnit Analyzera sonar Analyzer.

Úrovně závažnosti analyzátorů

Každý analyzátor má jednu z následujících úrovní závažnosti:

Závažnost (Průzkumník řešení) Závažnost (soubor EditorConfig) Chování při sestavení Chování editoru
Chyba error Porušení se zobrazují jako chyby v seznam chyb a ve výstupu sestavení příkazového řádku a způsobují selhání sestavení. Poškozený kód je podtržen červenou vlnovkou a označený malým červeným polem na posuvníku.
Upozornění warning Porušení se zobrazí jako Upozornění v seznam chyb a ve výstupu sestavení příkazového řádku, ale nezpůsobí selhání sestavení. Poškozený kód je podtržen zelenou vlnovkou a označený malým zeleným polem na posuvníku.
Informace suggestion Porušení se zobrazí jako zprávy v seznam chyb, a ne vůbec ve výstupu sestavení příkazového řádku. Poškozený kód je podtržený šedou vlnovkou a označený malým šedým polem na posuvníku.
Skrytý silent Uživatel není viditelný. Uživatel není viditelný. Diagnostika se oznamuje diagnostickému modulu IDE, ale.
Žádné none Zcela potlačeno. Zcela potlačeno.
Výchozí default Odpovídá výchozí závažnosti pravidla. Chcete-li určit výchozí hodnotu pravidla, podívejte se do okno Vlastnosti. Odpovídá výchozí závažnosti pravidla.

Pokud je v analyzátoru zjištěna porušení pravidla, jsou uvedena v editoru kódu (jako vlnovku pod problematickým kódem) a v okně Seznam chyb.

Porušení analyzátoru v Seznam chybm okně

Narušení analyzátoru uvedená v seznamu chyb odpovídají Nastavení úrovně závažnosti pravidla. Narušení analyzátoru se také zobrazí v editoru kódu jako vlnovky pod problematickým kódem. Následující obrázek ukazuje tři porušení — jedné chyby (červená vlnovka), jedno upozornění (zelená vlnovka) a jeden návrh (tři šedé tečky):

Vlnovky v editoru kódu v Visual Studio

Mnoho pravidel analyzátoru nebo diagnostiky má jednu nebo více souvisejících oprav kódu , které můžete použít k opravě porušení pravidel. Opravy kódu se zobrazují v nabídce ikony žárovky spolu s dalšími typy rychlých akcí. Informace o těchto opravách kódu najdete v tématu běžné rychlé akce.

Porušení analyzátoru a oprava kódu rychlé akce

Konfigurace úrovní závažnosti analyzátoru

Závažnost pravidel analyzátoru nebo diagnostiky můžete nakonfigurovat v souboru EditorConfig nebo v nabídcežárovky.

Analyzátory je také možné nakonfigurovat tak, aby zkontrolovaly kód v době sestavení a při psaní v reálném čase. Můžete nakonfigurovat rozsah živé analýzy kódu, který se má provést jenom pro aktuální dokument, všechny otevřené dokumenty nebo celé řešení. Viz How to: Configure a Scope for Live Code Analysis.

Tip

chyby při sestavování a varování z analyzátorů kódu se zobrazují pouze v případě, že analyzátory jsou nainstalovány jako balíček NuGet. Předdefinované analyzátory (například IDE0067 a IDE0068) nikdy neběží během sestavování.

balíček NuGet versus rozšíření VSIX

analyzátory třetích stran je možné instalovat na jeden projekt prostřednictvím balíčku NuGet. některé jsou také k dispozici jako rozšíření Visual Studio. v takovém případě se vztahují na jakékoli řešení, které jste otevřeli v Visual Studio. Existují některé rozdíly v chování při instalaci analyzátorůmezi těmito dvěma způsoby.

Obor

pokud nainstalujete analyzátory jako rozšíření Visual Studio, použijí se na úrovni řešení a na všechny instance Visual Studio. pokud instalujete analyzátory jako balíček NuGet, což je upřednostňovaná metoda, vztahují se pouze na projekt, ve kterém byl balíček NuGet nainstalován. v týmových prostředích jsou analyzátory nainstalované jako balíčky NuGet v oboru pro všechny vývojáře , kteří na daném projektu pracují.

Chyby sestavení

Aby byla pravidla vynutila při sestavování, včetně prostřednictvím příkazového řádku nebo jako součást sestavení průběžné integrace (CI), můžete vybrat jednu z následujících možností:

  • Vytvořte projekt .NET 5,0 nebo novější, který obsahuje analyzátory ve výchozím nastavení v sadě .NET SDK. Analýza kódu je ve výchozím nastavení povolená pro projekty, které cílí na rozhraní .NET 5.0 nebo novější. Můžete povolit analýzu kódu pro projekty, které cílí na starší verze rozhraní .NET, nastavením vlastnosti EnableNETAnalyzers na hodnotu true.

  • nainstalujte analyzátory jako balíček NuGet. V sestavě sestavení se nezobrazují upozornění a chyby analyzátoru, pokud nainstalujete analyzátory jako rozšíření.

Následující obrázek ukazuje výstup sestavení příkazového řádku z sestavení projektu, který obsahuje porušení pravidla analyzátoru:

MSBuild výstup s porušením pravidla

Závažnost pravidla

nemůžete nakonfigurovat závažnost pravidel z analyzátorů, které se nainstalovaly jako rozšíření Visual Studio. pokud chcete nakonfigurovat závažnost pravidla, nainstalujte analyzátory jako balíček NuGet.

Další kroky

Viz také