Sdílet prostřednictvím


Analýza kódu pomocí analyzátorů platformy kompilátoru .NET (Roslyn)

Analyzátory platformy kompilátoru .NET (Roslyn) kontrolují styl, kvalitu, udržovatelnost, návrh a další problémy v kódu jazyka C# nebo Visual Basic. Tato kontrola nebo analýza probíhá během návrhu ve všech otevřených souborech.

Analyzátory jsou rozdělené do následujících skupin:

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

Každé pravidlo analyzátoru Roslyn nebo diagnostika má výchozí stav závažnosti a potlačení, který můžete přizpůsobit pro svůj projekt.

Mezi úrovně závažnosti patří: Chyba, Upozornění, Návrh, Tiché, Žádné a Výchozí. Podrobné informace a chování naleznete v tématu Konfigurace úrovní závažnosti.

Porušení pravidel

Pokud analyzátor najde porušení pravidel analyzátoru, nahlásí je v okně Seznam chyb a v editoru kódu.

Následující snímek obrazovky ukazuje porušení pravidel hlášená v okně Seznam chyb . Porušení analyzátoru hlášená v seznamu chyb odpovídají nastavení úrovně závažnosti pravidla:

Snímek obrazovky znázorňující porušení analyzátoru v okně Seznam chyb

Porušení pravidel analyzátoru se také zobrazí v editoru kódu jako vlnovky pod problematickým kódem. Na následujícím snímku obrazovky jsou například tři porušení: jedna chyba (červená vlnovka), jedno upozornění (zelená vlnovka) a jeden návrh (tři šedé tečky):

Snímek obrazovky zobrazující značky chyb, upozornění a návrhů v editoru kódu

Opravy kódu

Mnoho diagnostik má jednu nebo více přidružených oprav kódu , které můžete použít k opravě porušení pravidla. Opravy kódu se zobrazují v nabídce ikon žárovky spolu s dalšími typy rychlých akcí. Další informace o opravách kódu najdete v tématu Běžné rychlé akce.

Snímek obrazovky znázorňující porušení analyzátoru a opravu kódu rychlé akce v editoru kódu

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

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

Můžete také nakonfigurovat analyzátory pro kontrolu kódu v době sestavení a při psaní. Rozsah živé analýzy kódu můžete nakonfigurovat tak, aby se spustil pouze pro aktuální dokument, všechny otevřené dokumenty nebo celé řešení. Další informace naleznete v tématu Konfigurace živé analýzy kódu pro .NET.

Návod

Chyby a upozornění během sestavení z analyzátorů kódu se zobrazují pouze v případě, že jsou analyzátory nainstalované jako balíček NuGet. Integrované analyzátory (například IDE0067 a IDE0068) se během sestavování nikdy nespustí.

Instalace externích analyzátorů kódu

Visual Studio obsahuje základní sadu analyzátorů Roslyn, které jsou vždy aktivní. Pokud potřebujete více analyzátorů kódu, můžete nainstalovat externí analyzátory pro každý projekt prostřednictvím balíčku NuGet. Některé analyzátory jsou k dispozici také jako rozšíření Visual Studio .vsix , v takovém případě platí pro jakékoli řešení, které otevřete v sadě Visual Studio. Informace o instalaci těchto dvou různých typů analyzátorů najdete v tématu Instalace analyzátorů kódu.

Scope

Pokud nainstalujete analyzátor jako balíček NuGet, upřednostňovaná metoda externích analyzátorů se vztahuje pouze na projekt, ve kterém je nainstalován balíček NuGet. Jinak pokud nainstalujete analyzátor jako rozšíření sady Visual Studio, použije se na úrovni řešení a na všechny instance sady Visual Studio. V týmových prostředích je analyzátor, který nainstalujete jako balíček NuGet, dostupný pro všechny vývojáře pracující na tomto projektu.

Poznámka:

Analyzátory první strany se dodávají v sadě .NET SDK. Je vhodnější povolit tyto analyzátory ze sady .NET SDK místo jejich instalace jako Microsoft.CodeAnalysis.NetAnalyzersbalíčku NuGet. Povolením analyzátorů ze sady .NET SDK zajistíte, že budete automaticky dostávat opravy chyb analyzátoru a nové analyzátory hned po aktualizaci sady SDK. Další informace o analyzátorech naleznete v tématu Povolení nebo instalace analyzátorů .NET první strany.

Chyby sestavení

Pokud chcete pravidla vynutit v době sestavení, zvolte pomocí sestavení příkazového řádku nebo kontinuální integrace (CI) jednu z následujících možností:

  • Vytvořte projekt .NET 5.0 nebo novější, který ve výchozím nastavení umožňuje analýzu kódu. Chcete-li povolit analýzu kódu u projektů, které cílí na starší verze .NET, nastavte EnableNETAnalyzers vlastnost .true

  • Nainstalujte analyzátory jako balíček NuGet. Pokud nainstalujete analyzátory jako rozšíření Visual Studio, upozornění a chyby analyzátoru se ve výstupu sestavení nezobrazí.

Následující snímek obrazovky ukazuje výstup sestavení příkazového řádku ze sestavení projektu, který obsahuje porušení pravidel analyzátoru.

Snímek obrazovky znázorňující výstup NÁSTROJE MSBuild s porušením pravidla v příkazovém řádku pro vývojáře

Závažnost pravidla

Pokud chcete nakonfigurovat závažnost pravidla analyzátoru pro externí analyzátory, musíte analyzátor nainstalovat jako balíček NuGet. Závažnost pravidla nemůžete konfigurovat z analyzátorů nainstalovaných jako rozšíření sady Visual Studio.

Další kroky