C#コーディングルール_#19_不要なルールを非表示にする方法

当サイトではアフィリエイト広告を利用しています。

C#コーディングルール

今回は,前回お伝えした通り,不要なルールを非表示にする方法を解説していきます。

コード分析規則セットを追加

ソリューションを右クリックし,「追加」「新しい項目」の順に選択します。

新しい項目の追加画面で,「コード分析規則セット」を選択します。

ファイル名は何でも構いませんが,アプリケーション名でMX99RuleSetでもいいですし,会社全体でコーディングルールを統一する場合は会社名やチーム名にするといいと思います。今回は「AndersonRuleSet.ruleset」としておきます。

この状態で「追加」ボタンを押下して,ファイルを追加します。

ルールセットの設定

ファイルを追加すると次のような画面が表示されます。表示されない場合は「AndersonRuleSet.ruleset」ファイルをダブルクリックすると表示されます。

この画面の「StyleCop.Analyzers」の左の三角マークをクリックして,階層を開きます。

右上の検索窓に,検索対象のコードを入れます。今回であれば,「SA1101」と入力します。

すると,検索で絞り込まれて,SA1101の行が表示されます。

表示されたSA1101の行の右側の「警告」となっている部分のプルダウンより,「非表示」を選択します。

この状態で警告一覧を確認すると,まだ消えていません。これは,まだ,「AndersonRuleSet.ruleset」を作成しただけで,このルール設定を適応するという設定になっていないためです。

ルールセットの適応

WinFormプロジェクトのPropertiesをダブルクリックします。

表示されたProperties画面の「コード分析」を選択します。

現状,規則セットの部分が,「Microsoftマネージド推奨規則」になっていると思いますが,ここを変更します。

プルダウンより「参照」を選択します。

先ほど作成した,ソリューション直下の「AndersonRuleSet.ruleset」を選択します。

規則設定のパスが正しいことを確認してください。

警告一覧の確認

これで,SA1101が警告一覧から非表示になっていることが確認できると思います。このような感じで不要なルールは「非表示」にすることができます。

ルールの確認

改めてStyleCop.Analyzersの階層を見ると,「非表示」「なし」「警告」という感じになっていますが,「非表示」とでるのは,今設定した「SA1101」のみです。なので,自分で警告から非表示にしたものは,ここで確認することができますし,後から復活させる場合は「非表示」の部分を「警告」に変えればよいという事になります。チーム全体で使うルールなので,新人が勝手に非表示することも考えられます。時々非表示のルールを確認し,必要なルールが非表示になっていないかを確認するといいでしょう。

チーム全体が同じルールセットを使うことで,同じルールでコーディングすることができるので,チームで話あって,1つのルールセットを作っていきましょう。