Použití sad pravidel k seskupení pravidel analýzy kódu

Při konfiguraci analýzy kódu v sadě Visual Studio si můžete vybrat ze seznamu předdefinovaných sad pravidel. Sada pravidel je seskupení pravidel analýzy kódu, která identifikují cílené problémy a konkrétní podmínky pro daný projekt. Můžete například použít sadu pravidel, která je navržená ke kontrole kódu pro veřejně dostupná rozhraní API. Můžete také použít sadu pravidel, která obsahuje všechna dostupná pravidla.

Sadu pravidel můžete přizpůsobit přidáním nebo odstraněním pravidel nebo změnou závažnosti pravidla tak, aby se zobrazovala jako upozornění nebo chyby v seznamu chyb. Sada vlastních pravidel může splnit potřebu konkrétního vývojového prostředí. Když přizpůsobíte sadu pravidel, editor sad pravidel poskytuje nástroje pro vyhledávání a filtrování, které vám pomůžou v procesu.

Sady pravidel jsou k dispozici pro analýzu spravovaného kódu, starší analýzu spravovaného kódu a analýzu kódu jazyka C++.

Poznámka:

Počínaje sadou Visual Studio 2019 verze 16.3 můžete pomocí souborů EditorConfig nakonfigurovat pravidla pro analýzu zdrojového kódu .NET, ale ne starší analýzu. Další informace najdete v části EditorConfig versus sady pravidel v nejčastějších dotazech.

Formát sady pravidel

Sada pravidel je zadána ve formátu XML v souboru .ruleset . Pravidla, která se skládají z ID a akce, jsou seskupené podle ID analyzátoru a oboru názvů v souboru.

Obsah souboru .ruleset vypadá podobně jako tento XML:

<RuleSet Name="Rules for Hello World project" Description="These rules focus on critical issues for the Hello World app." ToolsVersion="10.0">
  <Localization ResourceAssembly="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.dll" ResourceBaseName="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.Localized">
    <Name Resource="HelloWorldRules_Name" />
    <Description Resource="HelloWorldRules_Description" />
  </Localization>
  <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
    <Rule Id="CA1001" Action="Warning" />
    <Rule Id="CA1009" Action="Warning" />
    <Rule Id="CA1016" Action="Warning" />
    <Rule Id="CA1033" Action="Warning" />
  </Rules>
  <Rules AnalyzerId="Microsoft.CodeQuality.Analyzers" RuleNamespace="Microsoft.CodeQuality.Analyzers">
    <Rule Id="CA1802" Action="Error" />
    <Rule Id="CA1814" Action="Info" />
    <Rule Id="CA1823" Action="None" />
    <Rule Id="CA2217" Action="Warning" />
  </Rules>
</RuleSet>

Zadání sady pravidel pro projekt

Sada pravidel pro projekt je určena CodeAnalysisRuleSet vlastnost v souboru projektu sady Visual Studio. Příklad:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
  ...
  <CodeAnalysisRuleSet>HelloWorld.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>