コードインスペクション設定を構成する
設計時コードインスペクションを構成する
デフォルトで、ReSharper は、 サポートされている言語に対応するすべてのファイルで 設計時コードインスペクションを有効化します。 必要に応じて、無効にすることができます。 設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に 特定のスコープで実行できます。
メインメニューから を選択するか、 Alt+R O を押してから、左側の を選択します。
設計時コードインスペクションを切り替えるには、 コード分析を有効にする チェックボックスを使用します。
必要に応じて、 ソリューション全体の分析を有効化する チェックボックスを選択して ソリューション全体の分析 を有効化できます。
その設定ページの他のオプションを使用して、デザイン時のインスペクションを好みに合わせて調整します。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
コードインスペクションからファイルとフォルダーを除外する
ReSharper では、コードインスペクションから除外すべきファイル、ファイルマスク、フォルダーのリストを構成できます。 除外された項目は、 設計時コードインスペクションや 特定スコープでのコードインスペクションの両方で無視されますが、ReSharper によってインデックスが作成されるので、コードインスペクションから除外されたシンボルにも 移動したり リファクタリングしたりできます。
コードインスペクションから特定のファイルとフォルダーを除外する
メインメニューから を選択するか、 Alt+R O を押してから、左側の を選択します。
スキップする要素 セクションの左側の部分では、コードインスペクションによって無視されるファイルまたはフォルダーを指定できます。
このセクションの右側では、ソリューション内の一致するすべてのファイルをコードインスペクションから除外するマスク( *.vb など)を指定できます。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
現在のファイルをコードインスペクションからすぐに除外し、ReSharper がこのファイルを除外ファイル一覧にオプションを開かずに追加できるようにすることもできます。
コードインスペクションから / に現在のファイルを除外 / 含める
Control+Alt+Shift+D8 を押します。
ステータスインジケーターを右クリックして、 分析の一時停止 / 再開 を選択します。
コードインスペクションが無効化されているファイルは、 ステータスインジケーター上の一時停止アイコン
で判別できます。
凍結されたプロジェクトをインデックスから除外する
ReSharper オプション Alt+R、O の ページで、 無視するプロジェクト リストを使うと、ReSharper が完全に無視するプロジェクトを指定することもできます。
無視されたプロジェクトは ReSharper によってインデックスが作成されず、そのプロジェクトでは、たとえば コード解析、 リファクタリング、 コード生成 などの ReSharper の機能を利用できません。
このリストは主に、サードパーティコードや凍結されたコードを含み、変更されることのないプロジェクトのインデックス作成や解析を行わないことで、 パフォーマンスを向上させるために使用します。
無視されたプロジェクトのソースファイルは解析されませんが、ReSharper はそれらのプロジェクトの出力からコンパイル済みのコードを処理します(これはパフォーマンスの面で非常に負荷が小さいです)。 これは、無視されたプロジェクトをビルドした後、ReSharper がそれらのプロジェクトからのシンボルの使用を正しく解決し、そのプロジェクトで 移動および検索 を活用できることを意味します。
無視リストへプロジェクトを追加した後に「シンボルを解決できません」のようなエラーが発生した場合は、無視されたプロジェクトをビルドする必要があり、ReSharper がコンパイル済みアーティファクトからそれらのシンボルを解決できるようになります。
プロジェクトを無視リストに追加するには、プロジェクトファイル名( ProjectOne.csproj など)またはファイルマスク( Project*.csproj など)を使用して、 ProjectOne.csproj 、 ProjectTwo.csproj などと一致させます。
生成されたコードのコードインスペクションを部分的に無効にする
生成されたコードを含むファイル、フォルダー、ファイルマスク、領域のリストを構成することもできます。 これらの項目に対して、ReSharper はコンパイラーエラーや警告をチェックする コードインスペクションのみを実行します。 *.designer.cs など、生成されたコードに通常使用されるいくつかのファイルマスクと領域は、デフォルトでこのリストに含まれていますが、必要に応じてデフォルト設定を変更できます。
ソリューションで .editorconfig を使用する場合は、 generated_code プロパティを使用して生成されたコードにマークを付けることもできます。 たとえば、次のようになります。
生成されたコードでファイルとリージョンを指定する
ページ(ReSharper オプション Alt+R、O )で、 ファイルの追加 ボタンと フォルダーの追加 ボタンを使用して、生成するコードを含むファイルまたはフォルダーを指定します。
ページの左下部分で、 追加 ボタンを使用して、生成されたコードファイルのマスク( *.Designer.cs など)を指定します。
ページの右下の部分で、 追加 ボタンを使用して、生成されたコードを含む領域の名前を指定します。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
コードインスペクションの重大度レベルを変更する
各 ReSharper のコードインスペクションには固有のデフォルト 重要度レベルがあり、検出したコード問題の潜在的な影響に基づいて設定されています。 ほとんどのインスペクションは、設定可能な重大度レベルを持ち、変更できます。
インスペクションの重大度レベルは、このインスペクションによって検出されたコードの問題がハイライトされるエディターから直接変更できます。
エディターからインスペクションの重大度を変更する
ReSharper のインスペクションでハイライトされたコードの問題にキャレットを合わせます。
Alt+Enter を押すか、キャレットの左側にある アクションインジケーターをクリックして アクションリストを開きます。
アクションリストで インスペクション [name of inspection] | インスペクションの重大度を設定する を選択し、新しい重大度を選択します。

変更は、 スマートセーブロジックを使用して保存されます。
変更した重要度レベルを 共有設定レイヤーに保存する必要がある場合は、選択時に インスペクションの重大度を設定する メニュー項目をクリックするか、 Enter を押してください。 表示されたダイアログで、目的の重要度レベルを選択し、 保存先 をクリックしてから、希望の設定レイヤーを選択します。

変更した重要度レベルを共有設定レイヤーに保存したり、複数のインスペクションの重要度レベルを変更したりする別の方法は、下記の ReSharper オプション ダイアログ Alt+R、O を使うことです。
オプションからコードインスペクションの重大度レベルを変更する
ページ(ReSharper オプション Alt+R、O )では、すべての構成可能なコードインスペクションとその重要度レベルを表示できます。 インスペクションは言語別にグループ化され、さらに カテゴリ別にグループ化されています。
重大度を変更するインスペクションを見つけて選択します。 インスペクションを見つけるには、名前の入力を開始します。
選択されたエントリの右側にあるリストをクリックして、希望する重要度レベルを選択します:

インスペクションのデフォルトの重大度レベルが変更されると、その横に デフォルトにリセット
ボタンが表示され、重大度をデフォルト値にリセットできます。オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
特定のコードインスペクションを無効 / 有効にする
一部のコードインスペクションが些細なものであるか、興味がないように思われる場合は、このインスペクションを無効にして、 特定のスコープでコードインスペクション を実行したときに、関連する問題がエディターでハイライトされたり検出されたりしないようにすることができます。 無効化されたコードインスペクションは、後でいつでも有効にできます。 一部のインスペクションはデフォルトで無効になっており、必要に応じて有効にできます。
次のいずれかの方法でコードインスペクションを無効にすることができます。
エディターでこのインスペクションによってハイライトされたコードの問題がある場合は、ハイライトされたコードにキャレットを置き、 Alt+Enter を押して、 インスペクション [name of inspection] | インスペクションの重大度を設定する | 表示しない を選択します。
ページ(ReSharper オプション Alt+R、O )で、検索フィールドを使って無効化または有効化したいインスペクションを探し、その横にあるチェックボックスを使用します。
インスペクションの無効 / 有効状態は、 重大度レベルの変更とまったく同じ方法で 共有設定レイヤーに保存されます。
EditorConfig を使用して、コードインスペクションを構成する
プロジェクトのコードスタイルを管理する ために EditorConfig を使用する場合は、 .editorconfig ファイルからコードインスペクションを設定することもできます。
EditorConfig からコードインスペクションを設定するには、ReSharper オプション Alt+R、O の ページで editorconfig とプロジェクト設定から設定を読み込む チェックボックスを選択する必要があります。
EditorConfig の規則に従い、ReSharper は現在のファイルのディレクトリおよびすべての親ディレクトリにある .editorconfig という名前のファイルに定義されたインスペクション設定を、ルートファイルパスに到達するか root=true を含む EditorConfig ファイルが見つかるまで適用します。 .editorconfig ファイルで指定されているファイルマスク、たとえば *Test.cs も考慮されます。
.editorconfig ファイルのインスペクション設定は他のプロパティと同様に、対応する行を追加することで構成します:
例: 次の行を使用して、 可能性のある 'System.NullReferenceException' インスペクションの 重大度レベルを エラーに変更できます。
または、次の行で デフォルト値による冗長引数インスペクションを無効にすることができます。
各インスペクションの EditorConfig プロパティは、 コードインスペクションインデックス セクションと EditorConfig プロパティのインデックス ページのページにあります。 - ブラウザー検索を使用して目的のインスペクションのプロパティを探すだけです。
特定のスコープ内のコードインスペクションを抑制する
特定のコードの問題を無視する 1 つの方法は、 対応するコードインスペクションを無効にすることです。 この場合、このインスペクションによって検出されたすべてのコードの問題はどこでも無視されます。
特定の場所で特定のインスペクションを抑制し、他の場所でこのインスペクションに関する他の同様の問題を引き続き検出する必要がある場合があります。
例えば、ReSharper は一部のコードを「デッド」と見なし、それが正しいことがわかります。 インスペクションは便利であり、無効にしたくありません。 ただし、後でこのコードを使用して、 エディター でハイライトしたり、インスペクションの結果に表示したりしたくない場合があります。 そのために、ReSharper ではコメントや属性でインスペクションを抑制できます。 コメントは任意のコードに対してより便利であり、メソッドまたはタイプ全体でインスペクションを抑制するには属性が望ましいです。
特定のスコープ内のコードインスペクションを抑制する
ReSharper のインスペクションでハイライトされたコードの問題にキャレットを合わせます。
Alt+Enter を押すか、キャレットの左側にある アクションインジケーターをクリックして アクションリストを開きます。
アクションリストで、次のいずれかを選択します。
インスペクション [name of inspection] | コメントで一度無効にする — このオプションは単一のコメント
ReSharper disable once [inspection id]を挿入し、これにより対応する問題の最初の発生のみインスペクションが抑制されます。インスペクション [name of inspection] | コメントで一度無効にする | コメント付きのファイルで無効にする — このオプションは、ファイルの先頭に単一のコメント
ReSharper disable [inspection id]を挿入します。 このコメントは、ファイル内の対応するすべての問題についてインスペクションを抑制します。インスペクション [name of inspection] | コメントで一度無効にする | 無効にしてコメントで復元する — このオプションは、問題の前後に 1 組のコメント(
ReSharper disable [inspection id]とReSharper restore [inspection id])を挿入します。 これらのコメントは、それらの間のすべての対応する問題についてインスペクションを抑制します。次に、これらのコメントをファイル内の他の場所に移動して、このタイプのいくつかの問題を抑制できます。 例: これは、未使用の名前空間のインポートを複数保持する場合に、「冗長な名前空間」インスペクションを抑制できます。
インスペクション [name of inspection] | コメントで一度無効にする | メソッドを無効にする — このオプションは、メソッドに
[SuppressMessage("ReSharper", "[inspection id]")]属性を追加します。 この属性は、メソッド内のインスペクションを抑制します。インスペクション [name of inspection] | コメントで一度無効にする | クラスを無効にする — このオプションは、クラス
[SuppressMessage("ReSharper", "[inspection id]")]に属性を追加します。 この属性はクラス全体でインスペクションを抑制します。インスペクション [name of inspection] | コメントで一度無効にする | ファイル内のすべてのインスペクションを無効にする — このオプションは、ファイルの先頭に単一のコメント
ReSharper disable Allを挿入します。 このコメントは、ファイル内のすべてのインスペクションを抑制します。必要に応じて、
ReSharper restore Allを挿入して、特定の行の後にコードインスペクションを有効にすることができます。
型やメソッド内のすべてのインスペクションを抑制するには、次の属性を追加します: [SuppressMessage("ReSharper", "All")]。