ReSharper 2019.1ヘルプ

コードインスペクションの設定

デザインタイムコードインスペクションの切り替え

デフォルトでは、ReSharperはサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。

デザインタイムコードインスペクションを無効または有効にするには

  1. ReSharperオプションのコード・インスペクション | 設定エディター | インスペクション設定ページで、コード分析を有効にするチェックボックスを使用して、デザインタイムコードインスペクションを切り替えます。このページでは、コードインスペクションに対して設定できるオプションを確認することができます。

  2. 必要に応じて、ソリューション全体の分析を可能にするチェックボックスをオンにしてソリューション全体の分析を有効にすることができます。

  3. 保存をクリックして変更を適用し、ReSharperに保存場所を選択させるか、次へ保存ドロップダウンリストを使用して特定の設定レイヤーに変更を保存します。詳細については、「 resharper設定の管理と共有 」を参照してください。

コードインスペクションからのファイルとフォルダーの除外

ReSharperを使用すると、コードインスペクションから除外する必要があるファイル、ファイルマスク、およびフォルダーの一覧を構成できます。除外された項目は、特定の範囲で設計時コードインスペクションコードインスペクションの両方で無視されますが、ReSharperによって索引付けされているため、コードインスペクションから除外されたシンボルにナビゲートまたはリファクタリングできます。

コードインスペクションからファイルとフォルダーを除外するには

  1. メインメニューでReSharper | オプションを選択し、左側のコード・インスペクション | 設定を選択します。

  2. スキップする要素セクションの左側の部分では、コードインスペクションによって無視されるファイルまたはフォルダーを指定できます。

  3. このセクションの右側では、ソリューション内のすべての一致するファイルをコードインスペクションから除外するマスク(たとえば *.vb)を指定できます。

  4. 保存をクリックして変更を適用し、ReSharperに保存場所を選択させるか、次へ保存ドロップダウンリストを使用して特定の設定レイヤーに変更を保存します。詳細については、「 resharper設定の管理と共有 」を参照してください。

ReSharperがこのファイルをオプションを開かずに除外ファイルのリストに追加できるように、コードインスペクションから現在のファイルをすぐに除外することもできます。

現在のファイルをコードインスペクションから除外/含めるには

コードインスペクションから除外されたファイルを開くと、ステータスインジケータの対応するアイコン ThemedIcon ErrorStripeOff Screen Gray でそれを認識できます。

フリーズしたプロジェクトをインデックスから除外する

ReSharperオプションのコード・インスペクション | 設定ページでは、無視するプロジェクトリストを使用して、ReSharperによって完全に無視されるプロジェクトを指定することもできます。

無視されたプロジェクトはReSharperによって索引付けされません。つまり、これらのプロジェクトではReSharperの機能( コード分析リファクタリングコード生成など )は使用できません。

このリストは主に、変更されることのないサードパーティコードやフリーズコードを含むプロジェクトのインデックス作成や分析を行わないことによってパフォーマンス向上させることを目的としています。

無視されたプロジェクト内のソースファイルは解析されませんが、ReSharperはそれらのプロジェクトの出力からコンパイルされたコードを処理します(これは非常に安価なパフォーマンスです)。つまり、無視されたプロジェクトをビルドした後、ReSharperはそれらのプロジェクトからのシンボルの使用箇所を正しく解決し、それらのプロジェクトでナビゲーションや検索を楽しむことができるようになります。

無視リストにプロジェクトを追加した後に 'シンボルを解決できません'のようなエラーがある場合、無視されたプロジェクトをビルドする必要があり、ReSharperはこれらのシンボルをコンパイルされた成果物から解決できます。

プロジェクトを無視リストに追加するには、プロジェクトファイル名を使用します。 ProjectOne.csproj またはファイルマスク。 ProjectOne.csprojProjectTwo.csprojなどに適合する Project*.csproj

生成コードのコードインスペクションを部分的に無効にする

ファイル、フォルダー、ファイルマスク、および生成コードを含む領域のリストを構成することもできます。これらの項目では、ReSharperは、コードのコンパイラエラーと警告をチェックするコードインスペクションのみを実行します。 *.designer.cs など、生成コード用にVisual Studioによって使用される一部のファイルマスクおよび領域は、デフォルトでこのリストに含まれていますが、必要に応じてデフォルト設定を変更できます。

生成されたコードでファイルと領域を指定するには

  1. ReSharperオプションのコード・インスペクション | 生成されたコードページで、ファイルの追加およびフォルダーの追加ボタンを使用して、生成コードを含むファイルまたはフォルダーを指定します。

  2. ページの左下部分で、追加ボタンを使用して、生成されたコードファイルのマスク(例: *.Designer.cs)を指定します。

  3. ページの右下の部分で、追加ボタンを使用して、生成されたコードを含む領域の名前を指定します。

  4. 保存をクリックして変更を適用し、ReSharperに保存場所を選択させるか、次へ保存ドロップダウンリストを使用して特定の設定レイヤーに変更を保存します。詳細については、「 resharper設定の管理と共有 」を参照してください。

生成コードを含む項目のリストは、コードスタイルを無効にし、生成コードをクリーンアップするためにも使用できます。

コードインスペクションの重大度レベルの変更

各ReSharperのコードインスペクションには独自のデフォルト重大度レベルがあり、これは検出したコード問題の潜在的な影響に応じて設定されます。ほとんどのインスペクションには設定可能な重大度レベルがあり、これは変更可能です。

コンパイラのエラーと警告を検出するインスペクションには対応する重大度レベルがあり、これを変更することはできません。ただし、コンパイラの警告によっては、#pragma ディレクティブを使用して抑制することができます。特定の警告が表示されたら、アクションリスト#pragmaで抑制するアクションを探します。

エディターからインスペクションの重大度レベルを変更することができます。このインスペクションで検出されたコードの問題が強調表示されます。

インスペクションの重大度をエディターから変更するには

  1. ReSharperのインスペクションによって強調表示されたコードの問題にキャレットを設定します。

  2. Alt+Enter を押すか、キャレットの左側にあるアクションインジケータをクリックしてアクションリストを開きます。

  3. アクションリストでインスペクション [インスペクション名] | インスペクションの重大度を設定するを選択し、新しい重大度を選択します。

    Changing inspection severity level

  4. 変更はスマートセーブロジックを使用して保存されます。

  5. 変更した重大度を共有設定レイヤーに保存する必要がある場合は、インスペクションの重大度を設定するメニュー項目をクリックするか、Enter が選択されているときに Enter を押します。表示されるダイアログで、目的の重大度レベルを選択し、次へ保存をクリックして、目的の設定レイヤーを選択します。

    Inspection Options dialog

変更した重大度を共有設定レイヤーに保存する、または複数のインスペクションの重大度レベルを変更する別の方法は、後述の「ReSharperオプション」ダイアログを使用することです。

オプションからコードインスペクションの重大度レベルを変更するには

  1. ReSharperオプションのコード・インスペクション | インスペクション重大度ページでは、すべての構成可能コードインスペクションとその重大度を表示できます。インスペクションは言語別に分類され、さらにカテゴリ別に分類されています。

  2. 重大度を変更するインスペクションを検索して選択します。インスペクションを見つけるには、名前を入力してください。

  3. 選択したエントリの右側にあるドロップダウンリストをクリックし、必要な重大度を選択します。

    Changing inspection severity in the ReSharper Options dialog

  4. インスペクションのデフォルトの重大度レベルが変更された場合は、その横にデフォルトにリセット ThemedIcon Undo Screen Gray ボタンが表示され、重大度をデフォルト値にリセットできます。
    カテゴリの横にあるこのボタンをクリックすると、カテゴリ内のすべてのインスペクションがデフォルトの重大度レベルにリセットされます。

  5. 保存をクリックして変更を適用し、ReSharperに保存場所を選択させるか、次へ保存ドロップダウンリストを使用して特定の設定レイヤーに変更を保存します。詳細については、「 resharper設定の管理と共有 」を参照してください。

特定のコードインスペクションの無効/有効化

あるコードインスペクションが些細であるか、あなたにとって興味がないと思われる場合は、このインスペクションを無効にして、関連する問題がエディターで強調表示されたりコードインスペクションの実行時に検出されたりしないようにすることができます。無効になったコードインスペクションはいつでも有効にできます。一部のインスペクションはデフォルトで無効になっており、必要に応じて有効にできます。

次のいずれかの方法でコード・インスペクションを無効にすることができます。

  • このインスペクションでエディターで強調表示されているコードの問題がある場合は、強調表示されたコードにキャレットを設定し、Alt+Enter を押してからインスペクション [インスペクション名] | インスペクションの重大度を設定する | を選択します。

  • ReSharperオプションのコード・インスペクション | インスペクション重大度ページで、検索ボックスを使用して無効または有効にするインスペクションを見つけて、その横にあるチェックボックスを使用します。

インスペクションの無効/有効状態は、重大度レベルの変更とまったく同じ方法で、共有設定レイヤーに保存されます。

EditorConfigを使用してコードインスペクションを設定する

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

EditorConfigからコードインスペクションを設定するには、ReSharperオプションのコード・インスペクション | 設定ページでeditorconfigから設定を読み込みます...チェックボックスを選択する必要があります。

EditorConfigの規則が示すように、ReSharperは現在のファイルのディレクトリーとそのすべての親ディレクトリーにある .editorconfig という名前のファイルで定義されたインスペクション設定を、ルートファイルパスに達するか root=trueでEditorConfigファイルが見つかるまで適用します。 .editorconfig ファイルで指定されたファイルマスク、例えば *Test.cs も考慮されています。

.editorconfig ファイルのインスペクション設定は、対応する行を追加することによって、他のプロパティーと同様に構成されています。
[inspection_editorconfig_property]=[error | warning | suggestion | hint | do_not_show]
例:可能性のある 'System.NullReferenceException' インスペクションの重大度レベルエラーに変更するには、以下の行を使用します。
resharper_possible_null_reference_exception_highlighting=error

各インスペクションのEditorConfigプロパティーは、コードインスペクション索引セクションとEditorConfigプロパティーのインデックスページのページにあります。- ブラウザ検索を使用して目的のインスペクションのプロパティーを探すだけです。

特定のスコープ内のコードインスペクションを抑制する

特定のコードの問題を無視する1つの方法は、対応するコードインスペクションを無効にすることです。この場合、このインスペクションによって検出されたすべてのコード問題は至る所で無視されます。
他の場所でこのインスペクションと他の同様の問題を検出し続けながら、時には特定の場所で特定のインスペクションを抑制する必要があるかもしれません。
例:ReSharperはいくつかのコードを 'デッド'と見なしていますが、それが正しいことがわかります。インスペクションは役に立ち、無効にしたくありません。ただし、後でこのコードを使用したい場合があり、エディターで強調表示したりインスペクションの結果に表示したりしたくない場合があります。そうするために、ReSharperはコメントまたは属性でインスペクションを抑制することを可能にします。コメントは、任意のコードに対してより便利です。属性は、メソッドや型全体でインスペクションを抑制するのに適しています。

コードインスペクションを特定の範囲内に抑止するには

  1. ReSharperのインスペクションによって強調表示されたコードの問題にキャレットを設定します。

  2. Alt+Enter を押すか、キャレットの左側にあるアクションインジケータをクリックしてアクションリストを開きます。

  3. アクションリストで、次のいずれかを選択します。
    • インスペクション [インスペクション名] | コメントで一度無効にする - このオプションは、単一のコメント( ReSharper disable once [inspection id] )を挿入します。これは、対応する問題の最初の発生に対してインスペクションのみを抑制します。

    • インスペクション [インスペクション名] | コメントで一度無効にする | コメント付きのファイルで無効にする - このオプションは、ファイルの先頭に単一のコメント ReSharper disable [inspection id] を挿入します。このコメントは、ファイル内の対応するすべての問題についてインスペクションを抑制します。

    • インスペクション [インスペクション名] | コメントで一度無効にする | 無効にしてコメントで復元する - このオプションは、問題の前後に1対のコメント、ReSharper disable [inspection id]ReSharper restore [inspection id]を挿入します。これらのコメントは、それらの間のすべての対応する問題についてインスペクションを抑制します。
      その後、これらのコメントをファイル内の他の場所に移動して、このタイプのいくつかの問題を抑制することができます。例:未使用の名前空間のインポートをいくつか残したい場合、これは「冗長な名前空間」インスペクションを抑制できます。

    • インスペクション [インスペクション名] | コメントで一度無効にする | メソッドを無効にする - このオプションは、メソッドに [SuppressMessage("ReSharper", "[inspection id]")]属性を追加します。この属性は、メソッド内のインスペクションを抑制します。

    • インスペクション [インスペクション名] | コメントで一度無効にする | クラスを無効にする - このオプションは、クラス [SuppressMessage("ReSharper", "[inspection id]")]に属性を追加します。この属性はクラス全体でインスペクションを抑制します。

    • インスペクション [インスペクション名] | コメントで一度無効にする | ファイル内のすべてのインスペクションを無効にする - このオプションは、ファイルの先頭に単一のコメント ReSharper disable All を挿入します。このコメントはすべてのインスペクションファイルを抑制します。
      必要に応じて、特定の行の後に ReSharper restore All を挿入してコードインスペクションを有効にすることができます。

タイプまたはメソッド内のすべてのインスペクションを非表示にするには、次の属性を追加します。[SuppressMessage("ReSharper", "All")]

最終更新日: 2019年5月14日

関連事項

関連ページ:

注釈を使用してコードインスペクションを絞り込む

コード・インスペクションや他の多くのReSharperの機能は、問題を検出し、改善を提案し、他の方法であなたを手助けするために、言語構成の動作を知ることに主に依存しています。しかし、この種の分析ではすべてを検出することはできません。例:メソッドがを返さないように設計されており、そのクライアントがそれ...

設計時にコード問題を検出

ReSharperは、エディターでコード・ファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターで強調表示されます。問題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、...

特定の範囲のコード問題を見つける

設計時コードインスペクションは、エディターでコーディングしたり、特定のファイルを見直したりするときに役立ちます。ただし、ReSharperを使用すると、ソリューション全体または狭い範囲でスタティックコード分析を実行し、結果をフレンドリーな視点で調べることもできます。必要に応じてインスペクション結果を...

ソリューション全体の分析

ソリューション全体の分析では、プロジェクトのコンパイルを妨げないものを含め、サポートされるすべての言語でエラーが検出されます。プロジェクトにそのようなファイル(JavaScript、CSS、HTMLなど)が含まれている場合、ソリューション全体の分析は、実行時に検出される可能性のあるエラーを見つけるの...

ReSharper設定の管理と共有

ReSharperは、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例:記号のアイ...

ナビゲーションと検索

ReSharperを使用すると、宣言、メンバー、メソッド呼び出し、継承階層、エラーなどを使用してソースコードを検索することができます。ナビゲーションおよび検索の範囲は、ソリューションのファイルに限定されません。必要に応じて、参照されたライブラリーのシンボルをナビゲーションまたは検索結果に含めることが...