ReSharper 2019.1ヘルプ

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

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

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

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

code analysis sample

この簡単な例では、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)を検出し、ソリューションの他のファイルのエラーを通知します。ソリューション全体の分析アイコンをクリックすると、検出された課題を調べることができます。

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

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

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

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

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

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

    色識別子

    このオプションを使用すると、ReSharper 構文強調表示スキームを有効または無効にすることができます。
    これが選択されていると、言語IDは、Visual Studioオプションツール | オプション | 環境 | フォントおよび色で定義されている色で強調表示されます。
    ReSharperによって提供される構文IDのリストはアイテムを表示するリストにあり、それぞれの名前はReSharper接頭部で始まります。

    強調表示カラーの使用箇所

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

    文字列リテラルの特殊文字を強調表示する

    非逐語文字列内の正しいおよび不正なエスケープシーケンスの強調表示を有効にします: たとえば:

    Highlighting of escape sequence in strings
    詳しくは、正規表現のアシスタンスを参照してください。

    コンテキスト終了を強調表示する

    このオプションはデフォルトで有効になっており、制御フローが現在のコンテキストを終了できるすべての場所を強調表示するようにReSharperに指示します。例:メソッドの場合、キャレットをこれらの識別子の1つに設定すると、メソッドの戻り型、すべての returnthrow キーワードなどが強調表示されます。

    ReSharper highlights context exits
    ループの場合は、ループキーワードと、このループ内のすべての break ステートメントをさらに強調表示します。
    メソッドがエディターに完全に表示されていない場合は、メソッド名に対して関数出口にナビゲートするコマンドを実行して別の種類の強調表示をトリガできます。キャレットがメソッド名を終了しても消えません。

  4. 必要に応じて、ソリューション全体の分析を有効にするためにソリューション全体の分析を可能にするチェックボックスを選択できます。

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

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

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

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

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

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

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

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

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

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

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

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

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

Inspection [name of inspection] sub-menu

'インスペクションオプション'サブメニューを無効にすることができます。これを行うには、ReSharperオプションのコード・インスペクション | 設定ページでアクションリストにコードインスペクションを表示するチェックボックスをオフにします。

同様の課題を見つける

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

同様の課題を見つけるには

  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コードインスペクションコントロールとの統合

Starting from version 2015, Visual Studio comes with its own code analysis engine (Roslyn) and provides its own light bulbs(英語) feature to perform quick actions including refactoring and fixing errors.

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

Two light bulbs for fixing the same issue

これを避けるため、ReSharperはReSharperオプションのコード・インスペクション | 設定ページにVisual Studio Light Bulbを表示しないオプションを提供します。このオプションはデフォルトで有効になっているため、重複した電球は無効にしないと表示されません。

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

必要に応じて、エディターでVisual Studioのエラー強調表示を無効にして、ReSharperで見つかったコードの課題のみが強調表示されるようにすることもできます。これを行うには、ReSharperオプションのコード・インスペクション | 設定ページでVisual Studioの波紋を抑制するを選択します。

最終更新日: 2019年7月16日

関連事項

関連ページ:

コード検査

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

マーカーバーとステータスインジケータ

マーカーBarとステータスインジケーターを使用すると、現在のファイル内の設計時コードインスペクションの結果を確認したり、コードの課題間を移動したりできます。また、マーカーバーには、他のReSharperアイテムに特別なマークが表示されます。現在のファイルで使用状況を強調表示します。次の場合、マーカー...

Web Linterでコードの検証

ReSharperは、Webコード品質ツール(linterとも呼ばれます) - JSLint、ESLint、およびTSLintと統合して、コード内のさらに多くの問題を検出して修正できます。Linterはコマンドラインツールとして設計されているため、通常はコードを検証するたびに、コンソールに移動して...

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

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

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

ReSharperがVisual Studioのテキストエディターに追加する最も目立つものは、アクションインジケータとアクションリストです。ReSharper(C#、VB.NET、XML、CSS、JavaScript、ASP.NETなど)でサポートされているすべてのファイルに表示され、利用可能な操作...

コードの課題のクイックフィックス

ReSharperを使用すると、設計時に検出されたほとんどのコード課題を即座に修復できます。強調表示されたコードの課題で を押して、課題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。このトピックの内容:クイックフィックスの適用、Visual Stud...