ReSharper 2020.3 ヘルプ

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

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

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

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

ReSharper: Design-time code inspection

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

  1. 中優先度のコードの問題(この場合、命名スタイルと一致しないシンボル名に関する警告)は、青い下線でハイライトされます。

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

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

  4. コード分析のヒントは、関数の戻り値の欠落、switch ステートメントの中断の欠落、および破棄されたリソースをより目立たせます。

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

  6. 警告の問題に対応するマーカーがマーカーバーに表示されます。

  7. エラーの問題に対応するマーカーがマーカーバーに表示されます。

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

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

  10. 提案の問題に対応するマーカーがマーカーバーに表示されます。

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

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

  13. キャレットの問題の簡単な説明がステータスバーに表示されます。ハイライトされたコードまたはマーカーバーの問題マーカーの上にマウスを置くと、コードの問題の説明を表示することもできます。

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

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

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

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

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

    色識別子 このオプションを使用すると、ReSharper 構文のハイライトスキームを有効または無効にできます。
    選択すると、言語識別子は Visual Studio オプションで定義されている色でハイライトされます: ツール | オプション | 環境 | フォントおよび色
    ReSharper によって提供される構文 ID のリストは、アイテムを表示するリストで使用できます。各名前は ReSharper プレフィックスで始まります。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 つの同様の提案がある場合があります。次の図では、冗長な using ディレクティブを削除することを提案している 2 つのバルブを見ることができます。

Two light bulbs for fixing the same issue

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

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

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

関連ページ:

コードインスペクション

ReSharper は、サポートされているすべての言語で 2500 を超えるコードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出してハイライトしたり、ソリューション全体と同じくらい大きい特定のスコープ内のすべてのコードの問題を見つけたりするために使用されます。インスペクション ReSharper が提供するコードの種類を調べるには、異なる言語の ReSharper コードインスペクションの全リストをご覧ください。エディターでハイライ...

ネーミングスタイル

バージョン 2018.3 から、ReSharper は既存のコードから C# シンボルの命名規則を自動的に学習を実行できます。命名規則を手動で構成する場合は、ReSharper オプション(Alt+R, O)のページの自動検出ルールを使用するチェックボックスをオフにします。ReSharper は、コード内のシンボルの命名スタイルを定義、制御、適用できます。命名スタイルはルールのセットとして実装され、それぞれが特定の識別子を制約のセットでターゲットにします(たとえば、ルールは静的なプライベート読み...

インレイヒント

インレイヒントは、コードの可読性を向上させる構成可能なエディター装飾です。プッシュツーヒントモード:インレイヒントは役立つ場合がありますが、一方で、エディタースペースを取り、場合によっては冗長に見えることがあります。プッシュツーヒントモード(デフォルトで有効になっている)を使用できます。ヒントを非表示にして、Ctrl キーを押したままにすることで必要な場合にのみヒントを表示できます。このモードでは、Ctrl を 2 回押して、現在のエディタータブのヒントを切り替えることもできます。インレイヒントを...

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

ファイルに名前空間がインポートされていない型を使用する場合、ReSharper はこれらの型を見つけて不足している名前空間インポートディレクティブを追加できます。たとえば、ファイルにコードのブロックを貼り付けた後など、未解決の型にいくつかの不足している名前空間がある場合、ReSharper はこれらすべての名前空間を 1 回の操作でインポートできます。ReSharper は、現在のプロジェクトで参照されているアセンブリ、ソリューション内の他のプロジェクトで参照されているアセンブリ、推移的に参照さ...

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

ReSharper が Visual Studio テキストエディターに追加する最も注目すべきものの中には、アクションインジケータとアクションリストがあります。これらは、ReSharper でサポートされているすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NET など)に表示され、使用可能なアクションについて通知し、適用できます。アクションインジケータ:アクションインジケータは、設定に応じて、アクションバーの左マージンやテキストエディターの本文に表示される...

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

ソリューション全体の分析では、プロジェクトのコンパイルを妨げないものを含め、サポートされているすべての言語でエラーが検出されます。プロジェクトにこのようなファイル(JavaScript、CSS、HTML など)が含まれている場合、ソリューション全体の分析は、それ以外の場合は実行時にのみ検出される可能性のあるエラーを見つけるのに役立ちます。ReSharper のソリューション全体の分析では、2 つの関連しているが異なる機能が実現します。ソリューション全体のエラー / 警告モニタ:ReSharper...