ReSharper 2020.2 ヘルプ

設計時にコードの課題を検出する

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

デザインタイムインスペクションの機能

ReSharper によって実行されるデザインタイムコードインスペクションを説明するために、エディターに表示された次のコードの抜粋を考えてみましょう。

ReSharper: Design-time code inspection

この簡単な例では、ReSharper コードインスペクションの次の機能を確認できます。

  1. 現在のファイルにエラーまたは警告があるかどうかをすぐに確認するのに役立つステータスインジケータ

  2. インポートされていないタイプに対して表示される修正ポップアップ。 Alt+Enter を押すか、このポップアップをクリックすると、ReSharper はファイル内のすべてのタイプに対して欠落しているディレクティブを追加します。詳細については、不足している名前空間をインポートするを参照してください。

  3. 優先度の低いコードの課題(この場合、未使用のパブリックメンバーに関する提案)はグレー表示されます。

  4. 中優先順位のコードの課題(この場合は、名前のスタイルに適合しないシンボル名に関する警告)が青い波の下線でハイライトされます。

  5. マーカーバーには、提案の課題(3)に対応するマーカーが表示されます。

  6. マーカーバーには、エラーの発生に対応するマーカー(8)が表示されます。

  7. ReSharper がそこに提案するものがあれば、キャレット位置の左側に表示されるアクション標識

  8. 優先順位の高いコードの課題(この場合、未解決のシンボルや不正な戻り値のタイプに関連するエラー)は、赤いテキストと赤い波線でハイライトされます。

  9. マーカーバーには、警告の課題(4)に対応するマーカーが表示されます。

  10. Alt+Enter を押すかアクションインジケーター(7)をクリックして開くアクションリストには、キャレットの課題のクイックフィックスのリストが含まれています。

  11. キャレットの課題の簡単な説明がステータスバーに表示されます。ハイライトされたコードの上またはマーカーバーの課題マーカーの上にマウスを移動すると、コード課題の説明を表示することもできます。(5,6,9)

  12. ソリューション全体の分析が有効になっている場合、ReSharper を使用すると、さらに多くのコードの課題を確認できます。この例では、未使用のパブリックメンバー(3)を検出し、ソリューションの他のファイルのエラーについて通知します。ソリューション全体の分析アイコンをクリックして、検出された課題を調べることができます。

  13. 関数の欠落、switch 文の欠落、破棄されたリソースをより目立つようにするには、コード分析のヒントを使用します。

デザインタイムインスペクションを切り替えます

既定では、デザインタイムコードインスペクションはサポートされているすべての言語で有効です。ただし、必要に応じて、すべてのファイルを無効にしたり、特定のファイルに対して無効にすることができます。コードインスペクションの設定の詳細については、コードインスペクション設定の構成を参照してください。

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

  2. 設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用します。

  3. 必要に応じて、このページでデザイン時のインスペクション機能を有効または無効にすることができます。

    色識別子 このオプションでは、ReSharper 構文ハイライトスキームを有効または無効にできます。
    選択されている場合、言語識別子は Visual Studio オプションで定義されている色でハイライトされます:ツール | オプション | 環境 | フォントおよび色
    ReSharper によって提供される構文識別子のリストは、アイテムを表示するリストで利用できます。各名前は ReSharper プレフィックスで始まります。
    ハイライトカラーの使用箇所 コード内の色定義のハイライトを有効にします。詳細は、カラーアシスタンスを参照してください。
    文字列リテラルの特殊文字をハイライトする 非逐語文字列内の正しいおよび不正なエスケープシーケンスのハイライトを有効にします。例:
    Highlighting of escape sequence in strings
    詳しくは、正規表現のアシスタンスを参照してください。
    コンテキスト終了をハイライトする このオプションはデフォルトで有効になっており、制御フローが現在のコンテキストを終了できるすべての場所をハイライトするように ReSharper に指示します。例:メソッドの場合、キャレットをこれらの識別子の 1 つに設定すると、メソッドの戻り型、すべての return , throw キーワードなどがハイライトされます。
    ReSharper highlights context exits
    ループの場合、さらに、loop キーワードとこのループ内のすべての break ステートメントをハイライトします。
    メソッドがエディターに完全に表示されない場合は、メソッド名で関数出口にナビゲートするコマンドを呼び出して、別の種類のハイライトをトリガーできます。これは、キャレットがメソッド名を離れても消えません。
  4. 必要に応じて、ソリューション全体の分析を有効にするためにソリューション全体の分析を可能にするチェックボックスを選択できます。

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

設計時コードインスペクションが有効になっている場合は、現在のファイルで検出されたすべての課題(ヒントの重要度レベルを持つものを除く)間を簡単に移動できます。

現在のファイルの次 / 前のコードの課題に移動する

  • 次のコードの課題に進むには F12、前のコードの課題に進むには Shift+F12 を押します。

  • メインメニューで、ReSharper | インスペクション | 次のファイルの課題または ReSharper | インスペクション | ファイルでの前回の課題を選択します。

  • エディターウィンドウの右側にあるマーカーバーを使用します。マーカーをクリックすると、対応する課題にキャレットが表示されます。マーカーバーの上部にあるステータスインジケーターをクリックすると、ファイルの次の課題にキャレットが表示されます。

  • ステータスインジケータを右クリックして次へ / 前のエラー / 警告 / 提案に進むを選択します。これらのコマンドは、最高の重大度レベルのコードの課題間を移動できます。エラーがある場合、エラー間を移動するだけであり、すべてのエラーが修正されるとすぐに警告間を移動します。

次 / 前のエラーに移動する

  • Alt+F12 を押して次のエラーに進み、Shift+Alt+F12 を押して前のエラーに進みます。

  • メインメニューで、ReSharper | インスペクション | 次のエラー / 警告または ReSharper | インスペクション | 前のエラー / 警告を選択します。

  • ソリューション全体の分析が有効で、エラーがいくつかある場合は、エラーの数がステータスバーの右端に表示されます。この番号をクリックすると、ソリューションの次のエラーに移動できます。

インスペクションオプションメニュー

推奨される修正の他に、各構成可能コードインスペクションおよびカスタムインスペクションについて、ReSharper はアクションリストにインスペクション [ インスペクション名 ] ThemedIcon Settings Screen Gray png サブメニューを表示し、以下の項目を含みます。

Inspection [name of inspection] sub-menu

類似課題を見つける

ハイライトされた課題をクイックフィックスで修正するだけでなく、ソリューション全体またはより小さな範囲で、すべての類似の課題(同じコードインスペクションで検出されたすべての課題)を検索して調査することができます。

類似課題を見つける

  1. ハイライトされた課題にエディターでキャレットを設定します。

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

  3. 現在のファイルで同様の課題を見つけるには、インスペクション [ インスペクション名 ] | [ ファイル名 ] ファイルで同様の課題を見つけるを選択します。

  4. 現在のプロジェクトまたはソリューションで類似の課題を見つけるには、サブメニューを展開して目的のスコープを選択します。

    Using action list to find similar issues

  5. 必要に応じて、ソリューション内の任意のプロジェクトまたはソリューションフォルダーで同様の課題を検索できます。これを行うには、サブメニューでカスタムスコープで同様の課題を見つけるを選択します。
    表示されるダイアログで、目的のプロジェクトまたはソリューションフォルダーの名前を入力し、OK をクリックします。

    Specifying search scope for the similar issues

  6. 見つかった課題はすべてインスペクション結果ウィンドウに表示されます。

Visual Studio コードインスペクションコントロールとの統合

バージョン 2015 以降、Visual Studio には独自のコード分析エンジン(Roslyn)が付属しており、リファクタリングやエラーの修正などの迅速なアクションを実行するための独自の電球(英語)機能を備えています。

Visual Studio のクイックアクションは、ReSharper のクイックフィックスコンテキストアクション、またはリファクタリングと同じ修正を実行することがよくあります。エラーによっては、Visual Studio と ReSharper から同様の提案が 2 つあるかもしれません。下の図では、2 つの電球が重複した using ディレクティブを削除することを提案しています。

Two light bulbs for fixing the same issue

これを避けるため、ReSharper は ReSharper オプションの環境 | エディター | Visual Studio の機能ページに Visual Studio 電球を隠すオプションを提供します。このオプションはデフォルトで有効になっているため、重複した電球は無効にしないと表示されません。

Visual Studio 電球が抑制されている場合、Visual Studio アクションは Visual Studio 電球アクションを ReSharper アクションインジケーターにマージチェックボックスを選択することによって ReSharper のアクションリストに統合することができます。選択されている場合、ReSharper は各 Visual Studio のクイックアクションに対して次のことを行います。

必要に応じて、エディターで Visual Studio のエラーハイライトを無効にして、ReSharper で見つかったコードの課題のみがハイライトされるようにすることもできます。これを行うには、ReSharper オプションの環境 | エディター | Visual Studio の機能ページで Visual Studio 波線を非表示を選択します。

最終更新日 :

関連ページ:

コードインスペクション

ReSharper はサポートされているすべての言語で 2500 以上のインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルで設計時にコードの課題を検出してハイライトするため、および / または特定の範囲内ですべてのコードの課題を見つけるために使用されます。インスペク...

不足している名前空間をインポートする

ファイルに名前空間がインポートされていない型を使用する場合、ReSharper はこれらの型を見つけて不足している名前空間インポートディレクティブを追加できます。たとえば、ファイルにコードのブロックを貼り付けた後など、未解決の型にいくつかの不足している名前空間がある場合、ReSharper はこれら...

アクションインジケータとアクションリスト

ReSharper が Visual Studio テキストエディターに追加する最も注目すべきものには、アクションインジケータとアクションリストがあります。これらは、ReSharper でサポートされるすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NET など)...

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

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

インレイヒント

インレイヒントは、コードの読みやすさを向上させる構成可能なエディターの装飾です。パラメーター名ヒント :メソッド呼び出しで名前付き引数を書き込む代わりに、ReSharper のパラメーター名ヒント(メソッド呼び出しで対応する引数の横にパラメーター名を表示するエディターの装飾)を利用できます。次のメソ...

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

コード注釈を使用して、ReSharper がコードをインスペクションする方法をカスタマイズすることもできます。設計時コードインスペクションを構成する :デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、...