ReSharper 2026.1 Help

カスタムコードインスペクションとクイックフィックスを作成する

コードに問題または悪い習慣があるが、ReSharper がそれを検出しない場合は、カスタムコードインスペクションを作成することができます。 さらに、問題のあるコードを置き換えるコード、つまりカスタム クイックフィックスを指定することができます。

カスタムインスペクションが正しく作成されていれば、コードベースのすべての同様の問題を見つけ出し、問題のあるコードをエディターでハイライトすることができます。

カスタムインスペクションを作成するには、 構造検索と置換 メカニズムを利用できます。

カスタムインスペクションの作成を説明するために、次のコードが気に入らないとしましょう:

string line; var tr = new MyReader(); try { line = tr.Read(); } finally { tr.Dispose(); }

.. そしてそれをむしろそれと置き換える:

string line; using(var tr = new MyReader()) { line = tr.Read(); }

クイックフィックスを使用してカスタムコードインスペクションを作成する

  1. エディターで、問題とみなすコードを選択します。

  2. 選択範囲を右クリックし、 パターンで検索 を選択します。

  3. ReSharper は、選択されたコードが検索パターンとして事前解析された状態で パターンで検索ダイアログを表示します。 一部の識別子、引数、型などは、自動的にプレースホルダーに置き換えられます:

    ReSharper のカスタムコードインスペクション。 インスペクションの生パターン
  4. インスペクションパターンをよりユニバーサルにするには、認識されている プレースホルダーを編集し、他のコード項目をより多くのプレースホルダーに置き換えます。 たとえば、この例の try ブロック内の単一のステートメントを、任意の数のステートメントと一致するプレースホルダーに置き換えることができます。

  5. 問題のクイックフィックスを指定するには、ダイアログの右上隅にある 置換 をクリックします。

    置換パターン 領域で、問題のあるコードを置き換えるために使用する必要のあるパターンを指定します。 変数コード項目には同じプレースホルダーを使用します。

    洗練されたパターンとクイックフィックスがこの例をどのように探すかを次に示します。

    ReSharper のカスタムインスペクション。 カスタムインスペクション用の精緻化されたパターンとクイックフィックス
  6. 終了したら、 保存 をクリックし、次に 閉じる をクリックします。 カスタムインスペクションは、スマート保存ロジックを使用してパターンカタログに保存されます。

    問題のあるコードはまだエディターでハイライトされていないことに注意してください。 それを機能させるには、さらにいくつかのことを行う必要があります。

  7. メインメニューから ReSharper | オプション を選択するか、 Alt+R O を押してから、左側の コードインスペクション | カスタムパターン を選択します。

  8. パターンの一覧から、作成したカスタムインスペクションに対応するパターンを探します。 デフォルトで、その 重要度レベルは「表示しない」に設定されており、ReSharper はカスタムインスペクションに該当する問題を無視します。

    インスペクションを有効にするには、「提案」など、他の重大度レベルを選択します。

  9. 最後に、カスタムインスペクションおよび対応するクイックフィックスに表示される説明を指定できます。

    これを行うには、パターンをダブルクリックし、開いた ハイライトパターンの編集 ダイアログで、対応するフィールドに説明を指定します。

    ReSharper のカスタムインスペクション。 インスペクションとクイックフィックスの説明
  10. パターンの変更を保存して閉じ、ReSharper オプションの カスタムパターン ページで 保存 をもう一度クリックします。

これで問題が認識され、エディターでハイライトされます。 指定した説明の上にマウスを置くと、その説明が表示されます。

ReSharper のカスタムインスペクション。 インスペクションとクイックフィックスの説明

インスペクションパターンを洗練するにつれて、コンストラクター呼び出しでの引数の数やステートメントの数が異なる場合でも、同様の問題が発生します。

ReSharper のカスタムインスペクション。 インスペクションとクイックフィックスの説明

カスタムインスペクションのクイックフィックスは、内蔵 クイックフィックスとまったく同じように見えます。

ReSharper のカスタムインスペクション。 インスペクションとクイックフィックスの説明

カスタムパターンで説明されている問題をより広い範囲で見つける必要がある場合は、いくつかのオプションがあります。

  • ReSharper オプションの コードインスペクション | カスタムパターン ページでインスペクションパターンを選択し、ページツールバーの 検索 をクリックします。

  • 目的のスコープでコードインスペクションを実行するを実行し、検出されたコードの問題の残りの部分でカスタム問題を分析します。

  • エディターでハイライトされたコードで Alt+Enter を押すと、インスペクションオプションに表示される 類似課題を見つけるアクションを使用します。

この機能は、次の言語とテクノロジーで サポートされています。

言語: C#

言語: VB.NET

言語: C++

言語: ASP.NET

言語: Razor

言語: XAML

言語: Resx

言語: スクリプトの作成

言語: SQL

この機能は C# で利用可能です

この機能は Visual Basic で利用可能です

この機能は C++ では使用できません

機能は ASP.NET で利用可能です

この機能は Razor で利用可能です

機能は XAML では使用できません

機能はリソースファイルでは使用できません

機能はビルドスクリプトファイルでは使用できません

機能は SQL/NoSQL ファイルおよびインジェクションでは利用できません

ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。

2026 年 6 月 12 日