はじめに
今回も CSharp_IngeniousAnalyzer の話です。
「Visual Studioでは警告を右クリックすれば重大度(Error/Warning/Suggestion...)をサクッと変えられるけど、VSCodeではどうすればいいのか」というご質問をユーザー様からいただきました。
私自身、VSCodeではやったことがなかったので大変良い機会となりました。
以下、画像を用いて手順を記載いたします。
前提条件
-
.sln(または新形式の.slnx)が存在し、フォルダとして開いている - 拡張機能
C#(ms-dotnettools.csharp)とC# Dev Kit(ms-dotnettools.csdevkit)の両方が入っている - 対象のプロジェクトで
CSharp_IngeniousAnalyzerが有効になっている
.slnが無い状態だと、Dev Kit側のプロジェクト認識が甘くなり、今回紹介する「重要度の構成」メニュー自体が出てこないことがあります。
今回は「ソリューションファイルは普通にあるはず」という前提で進めます。
手順
警告が出ている行にカーソルを合わせる
クイックフィックスから 「問題の抑制または構成」 を選ぶ
重要度を選ぶ (画像はサイレントを選択)
editorconfigの自動更新
重要度の選択肢を選ぶと、その場で.editorconfigが自動的に書き換わります。
.editorconfigが存在しない場合は、新規に作成されます。
例えば NULL001 の重要度の構成 -> 警告 を選ぶと、こう書き込まれます。
dotnet_diagnostic.NULL001.severity = warning
ルール単位だけでなく、カテゴリ単位や全アナライザー一括を選んだ場合も、それぞれ対応するキーで書き込まれます。
# カテゴリ単位('Style' アナライザー全体)
dotnet_analyzer_diagnostic.category-Style.severity = warning
# 全アナライザー一括
dotnet_analyzer_diagnostic.severity = warning
書き込み先はVisual Studioの「重大度の設定」と完全に同じ.editorconfigです。
VSとVSCodeが混在するチームでも、設定が食い違う心配はありません。
おわりに
今回のような「地味だけど地味に困る」系のトピックは需要があるのかどうか自信が無いのですが、今回は「知りたかった人が実際にいた」ので書いてみました。
「うちの環境だとメニューの文言が違った」
「何を言っているのか全然分からない」
など、お困りの点があればぜひ教えてください。
最後までお読みいただき、ありがとうございました!


