Bagikan melalui


Menggunakan seperangkat aturan untuk mengelompokkan aturan analisis kode

Saat mengonfigurasi analisis kode di Visual Studio, Anda dapat memilih dari daftar seperangkat aturan bawaan. Seperangkat aturan adalah pengelompokan aturan analisis kode yang mengidentifikasi masalah yang ditargetkan dan kondisi tertentu untuk proyek tersebut. Misalnya, Anda dapat menerapkan seperangkat aturan yang dirancang untuk memindai kode untuk API yang tersedia untuk umum. Anda juga dapat menerapkan seperangkat aturan yang menyertakan semua aturan yang tersedia.

Anda dapat menyesuaikan seperangkat aturan dengan menambahkan atau menghapus aturan atau dengan mengubah tingkat keparahan aturan agar muncul sebagai peringatan atau kesalahan dalam Daftar Kesalahan. Seperangkat aturan yang disesuaikan dapat memenuhi kebutuhan akan lingkungan pengembangan tertentu Anda. Saat Anda mengkustomisasi seperangkat aturan, editor seperangkat aturan menyediakan alat pencarian dan pemfilteran untuk membantu Anda dalam proses.

Seperangkat aturan tersedia untuk analisis kode terkelola, analisis warisan kode terkelola, dan analisis kode C++.

Catatan

Mulai visual Studio 2019 versi 16.3, Anda dapat menggunakan file EditorConfig untuk mengonfigurasi aturan untuk analisis kode sumber .NET, tetapi bukan analisis warisan. Untuk informasi selengkapnya, lihat bagian EditorConfig versus seperangkat aturan di FAQ.

Format seperangkat aturan

Seperangkat aturan ditentukan dalam format XML dalam file .ruleset . Aturan, yang terdiri dari ID dan tindakan, dikelompokkan menurut ID penganalisis dan namespace dalam file.

Konten file .ruleset terlihat mirip dengan XML ini:

<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>

Tip

Lebih mudah untuk mengedit seperangkat aturan di Editor Seperangkat Aturan grafis daripada secara manual.

Menentukan seperangkat aturan untuk proyek

Seperangkat aturan untuk proyek ditentukan oleh properti CodeAnalysisRuleSet dalam file proyek Visual Studio. Misalnya:

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