ReSharper 2026.1 Help

設定

ReSharper オプション: コードインスペクション | 設定

このページの ReSharper オプション では、 コードインスペクションに関する環境設定を指定できます。

コード分析を有効にする

設計時コードインスペクションを有効にするには、このチェックボックスを選択します。

このチェックボックスに関係なく、 特定のスコープでコードインスペクションをいつでも実行できます。

分析

editorconfig とプロジェクト設定から設定を読み込む

プロジェクトのコードスタイルを管理する ために EditorConfig を使用する場合は、 .editorconfig ファイルからコードインスペクションを設定することもできます。

このチェックボックスを有効化すると、 .editorconfig ファイルから、 コードインスペクションの重要度レベルC# 命名スタイルを直接 構成できます。

ソリューション全体の分析を有効化する

デフォルトで無効化されている ソリューション全体の分析ソリューション全体のコードインスペクションを含む)を有効化します。

大規模ソリューションでは、ソリューション全体の分析によってパフォーマンスが低下する可能性があることに注意してください。 しかし、 ソリューション全体の分析のパフォーマンスを向上させるにはいくつかの方法があります。

計算コストの高いインスペクションを有効化

データフロー分析をオンにし、たとえば、null 可能性を計算するために追加のインスペクションをもたらします。

警告を監視する

ソリューション全体の分析 で警告を有効化します。

ソリューション全体の分析で警告が有効化されている場合は、次のように動作します:ソリューションにエラーがある限り、エラーのみが表示されます。未解決の警告は最後のエラーが修正された時のみ表示されます。 警告が無効の場合、最後のエラーが修正されしだいステータスバーのインジケーターは緑色に変わります。

このオプションを有効にすると、ソリューションのエラー / 警告ウィンドウのツールバーで ThemedIcon.Warning.Screen.(Gray).png をクリックして、解析を再開しなくても、ウィンドウとステータスバーインジケーターで警告を表示または非表示にすることができます。

ソース生成ファイルを含める

このチェックボックスを使用して、 ソース生成ファイルを監視するかどうかを選択します。

リソースの利用

このセレクターを使用して、ソリューション全体の分析でシステムリソースをどのように使用するかを定義します。 は、リソース使用量は低いですが、分析時間が長いことを意味します。 は、マルチコアマシンでの初期分析にかかる時間が短縮されることを意味します。

ソリューション全体の分析がオフの場合に、未使用の非プライベートタイプメンバーを表示する

このオプションを有効化すると、 ソリューション全体の分析 が無効化されている場合でも、ReSharper は未使用の非プライベートメンバーをすべて検出します。 このオプションは、中小規模のソリューションに大きなパフォーマンスの影響を与えません。

ただし、大規模なソリューションでパフォーマンスの問題が発生した場合、または非常に大きなソースファイルで作業している場合は、無効にすることをお勧めします。

ソリューション全体の分析がオフの場合に、未使用のグローバル使用ディレクティブを表示する

このオプションを有効化すると、 ソリューション全体の分析 が無効化されている場合でも、ReSharper は未使用の名前空間を参照するすべての global using ディレクティブを報告します。 このオプションは、中小規模のソリューションに大きなパフォーマンスの影響を与えません。

ただし、大規模なソリューションでパフォーマンスの問題が発生した場合は、無効にすることをお勧めします。

値分析モード

値分析を使って、ReSharper はどのエンティティが null 値を保持できるかを特定し、null の間接参照によるエラーの可能性をハイライトします。 以下のモードから選択できます。

  • 楽観的: [CanBeNull] 属性で明示的にマークされている場合、または null をチェックしている場合 — ReSharper は、 CanBeNull または ItemCanBeNull 属性で明示的にマークされているか、明示的に null チェックされたエンティティのみを null になり得ると見なします。

  • 悲観的: エンティティが明示的な [NotNull] 属性を持たない場合 — ReSharper は、明示的な NotNull または ItemNotNull 属性を持たないすべての null 可能なエンティティが null になり得ると見なします。

null 許容参照型の警告モード

null 許容参照型 (NRT) が有効化されている場合、ReSharper は C# コンパイラー分析の結果を再利用します。

NRT は、null 値可能性分析の全体的な精度を向上させますが、値が #nullable コンテキストのないコードから取得される場合など、NRT 契約に違反する場合があります。 このような場合、null 値可能性チェック (たとえば、 式は常に「true」または「false」です) で誤検知の警告が表示されることがあります。 null 値可能な API 契約を無視し、コード内の値に対する以前の操作で null 値になるかどうかが保証されている場合にのみ問題を報告するように選択できます。

詳細については、 null 許容参照型 を参照してください。

破棄分析モード

破棄分析 のモードの 1 つを選択します。

[MustDisposeResource] API からオブジェクトを受け取った場合、対応する変数を using でラップするか、その変数に対して明示的に Dispose() を呼び出した場合、ReSharper はそのオブジェクトが破棄されたものとみなし、警告を出しません。

代わりに使い捨て変数を引数としてメソッドに渡すと、ReSharper は分析モードに応じて警告を発行します:

  • 楽観的 (デフォルト): IDisposable またはその派生型を受け取るすべてのメソッドは安全とみなされます。つまり、オブジェクトの処理後に Dispose() が呼び出されると仮定します。

  • 悲観的: メソッドは、 IDisposable を受け入れるパラメーターが [HandlesResourceDisposal] 属性でマークされている場合にのみ安全であるとみなされます。 それ以外の場合、ReSharper は非破棄変数を報告します。

整数演算を分析する

このチェックボックスを使用して、 整数値の分析 (積分演算) を有効または無効にします。

増分分析を最適化する

オンにすると、ファイルの完全な再ハイライト表示により、インスペクションされたメンバーが追跡され、変更がファイル内の他のメンバーのみを変更する場合は再分析されません。

Roslyn アナライザーに一致するインスペクションをコンパイラーインスペクションとして扱う

このオプションを有効化すると、ReSharper は インスペクションを対応する Roslyn アナライザー診断と同期し、競合や重複したハイライトを回避します。

Roslyn 診断に対応するインスペクションの場合、ReSharper:

  • 対応する Roslyn 診断に設定された重大度を使用します。 例: Roslyn の IDE0007 がエラーとして設定されている場合、ReSharper 推奨 'var' スタイルを使用するインスペクションはエラーとして報告されます。

  • #pragma warning disable IDExxxx ディレクティブを考慮して、一致する ReSharper インスペクションを抑制します。

  • .editorconfig から関連する Roslyn コードスタイル設定を適用します。 例: csharp_style_prefer_primary_constructors = falseコンストラクターをプライマリコンストラクターに変換するインスペクションを無効にします。

  • 抑制が Roslyn と ReSharper の両方で機能するように、 #pragma ではなく コメントを使用して一致するインスペクションを抑制することを提案します。

フォルダー名前空間プロバイダーを有効化する

この設定は、 名前空間関連の機能がフォルダー構造を名前空間接尾辞として使用するかどうかを定義します。 この設定が無効になっている場合、優先名前空間は親プロジェクト名に対応します。 有効になっている場合、優先名前空間は ProjectName.FolderName になります。

このオプションは、ソリューション全体のデフォルトの設定を定義します。

特定のフォルダーを構成するには、ソリューションエクスプローラーのフォルダーのコンテキストメニューから プロジェクト項目のプロパティを編集する を選択して呼び出すことができる プロジェクトアイテムのプロパティ ポップアップで 名前空間プロバイダ に設定します。

ReSharper: プロジェクトフォルダーの「名前空間プロバイダ」プロパティ

ハイライト

色識別子

このオプションでReSharper 構文ハイライトスキームを有効化または無効化できます

選択すると、言語識別子は Visual Studio オプションで定義されている色でハイライトされます: ツール | オプション | 環境 | フォントおよび色

ReSharper が提供する構文識別子の一覧は アイテムを表示する リストにあり、各名前は ReSharperプレフィックスで始まります

このオプションを無効にすると、マウスオーバー時に表示されるシンボル情報のツールチップも無効になることに注意してください。

ハイライトカラーの使用箇所

コード内の色の定義のハイライトを有効にします。 詳細については、 カラーアシスタンス を参照してください。

文字列リテラルの特殊文字をハイライトする

非逐語的文字列内の正しいエスケープシーケンスと誤ったエスケープシーケンスをハイライトできるようにします。 例: Highlighting of an escape sequence in strings 詳細については、 正規表現の支援 を参照してください。

取得した主要パラメーターをハイライトする

このオプションを有効化すると、ReSharper はインスタンスメンバーで使用されている プライマリコンストラクターパラメーターの構文ハイライトを変更します。 これらのパラメーターはインスタンスのコンテキストに取り込まれ、インスタンスフィールドのように動作します。そのため、フィールドとして構文ハイライトされると便利です。

以下の例では、 firstName パラメーターは First プロパティの初期化に使用されていますが、コンパイラーが First のバッキングフィールドを作成し、そこにコンストラクター引数をコピーするため、このパラメーターはキャプチャーされません。

一方、 lastName は、 Last プロパティにアクセスしたときにその値を返すフィールドとして保存されます。 そのため、ReSharper は firstName は通常のパラメーターとしてハイライトし、 lastName はフィールドとしてハイライトします:

ReSharper: プライマリコンストラクターでキャプチャーされたパラメーターの構文のハイライト

キャレット依存のハイライト

カーソル下の要素の使用箇所をハイライトする

デフォルトでは、変数やメンバーの宣言または使用箇所にキャレットを設定すると、ファイル内のそのシンボルの他のすべての使用箇所が背景でハイライトされて表示されます。 この動作を切り替えるには、このチェックボックスを使用します。

コンテキスト終了をハイライトする

このオプションはデフォルトで有効化されており、ReSharper に現在のコンテキストから制御フローが抜ける可能性のあるすべての場所をハイライトするように指示します。 例: メソッドの場合、これらの識別子のいずれかにキャレットを置くと、メソッドの戻り値の型、すべての returnthrow キーワードなどがハイライトされます。

ReSharper はコンテキスト出口をハイライトする

ループまたは switch ステートメントの場合、ループキーワードとその中のすべての break ステートメントがさらにハイライトされます。

エディターでメソッドが完全に表示されていない場合、メソッド名で 次に移動: 関数出口 コマンドを実行すると、別の種類のハイライトがトリガーされ、キャレットがメソッド名から外れても消えません。

関連する async/await キーワードをハイライトする

このオプションを使用すると、キャレットが関数の 1 つにある場合に、関数内のすべての async および await キーワードをハイライトできます。

条件要素をハイライトする

このオプションを使用すると、キャレットがそのような演算子の 1 つにある場合に、複雑な式で一緒に機能する、一致する論理演算子と条件演算子(|||&&&?? のペア)をハイライトできます。

以下の例では、%product は、ハイライトされた演算子が一緒に評価され、 value1 > 1 || value2 >= 2 && condition1 部分が前に評価され、 || value6 %lt; value7 || condition2 部分が後に評価されることを、 演算子の優先順位に従って理解できます。

ReSharper: 一致する論理演算子のハイライト

クイックフィックスとコンテキストアクション

スコープ内で修正やアクションを適用する際に並列コード解析を使用する

このオプションを選択すると、ReSharper は 10 個を超えるファイルの スコープでクイックフィックスとコンテキストアクションを適用する際、利用可能なすべての CPU を使用してコード解析を並列に実行します。

スコープにクイックフィックスを適用する場合は、ソリューション全体の分析結果を使用する

このオプションを有効化すると、ReSharper は ソリューション全体の分析の結果を使用して スコープ内のクイックフィックスの適用を高速化します。 このメカニズムは、このオプションページの ソリューション全体の分析を有効化する および 警告を監視する チェックボックスが有効になっている場合にのみ機能します。

2026 年 6 月 12 日