ReSharper 2021.1 ヘルプ

コード解析

ReSharper は、エディター内の単一のステートメントから、ソリューション全体のアーキテクチャまで、さまざまなレベルのコードを分析できます。

コードの問題を見つける

ReSharper は、C#、VB.NET、XAML、XML、ASP.NET、ASP.NET MVC、Razor、JavaScript、TypeScript、HTML、CSS、ResX で 2500 を超えるコードインスペクションを適用することにより、静的コード分析(コードインスペクションとも呼ばれます)を提供します。スクリプトコードをビルドし、コンパイラーとランタイムエラーを検出して、コンパイルする前に修正と改善を提案します。

デフォルトでは、ReSharper は、エディターでコードファイルを開くとすぐに、それが編集されるまで、コードファイルが閉じられるまで分析を開始します。この設計時インスペクションは、すべてのコードインスペクションをコードに継続的に適用することにより、サイレントで実行されます。ReSharper は、コードの問題をその重大度レベルに応じてエディターで直接ハイライトするだけでなく、独自のマーカーバーをエディターウィンドウの右側に追加し、ファイルのステータスを即座に確認して特定のコードの問題にジャンプしたり、コードの問題間を移動するためのコマンド。

必要に応じて、特定のプロジェクトまたはソリューション全体に対してコードインスペクションを実行し、指定されたスコープで見つかった問題のリストを確認できます。

また、ソリューション全体の分析を有効にして、ソリューション全体のすべてのエラーを検出し、現在のファイルのコードインスペクションのリストを拡張できます(たとえば、未使用のパブリックメンバーを検出します)。

必要に応じて、コードアノテーションを使用して、ReSharper がコードをインスペクションする方法をカスタマイズできます。

もう 1 つの良い点は、構造検索と置換パターンに基づいて独自のカスタムコードインスペクションを定義し、それらの重大度レベルを指定できることです。

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

ReSharper は、発見されたコードの問題のほとんどを自動的に解決できます。必要なのは、キャレットがエディターでハイライトされているコードの問題にあるときに Alt+Enter を押して、提案されたクイックフィックスを確認することだけです。

コード探査

ReSharper には、コードの問題を自動的に検出せず、コードをさらに詳しく調査することで潜在的な問題を自分で見つけることができる機能も用意されています。たとえば、呼び出しチェーン調べて、特定の値のオリジンと宛先を見つけることができます。これらの機能の詳細については、コード探査セクションを参照してください。

型依存性分析

ReSharper を使用すると、タイプがソリューション内でどのように依存するかを視覚的に調べることができます。型依存関係図では、異なるプロジェクトまたはコンパイルされたアセンブリから任意の数の型を追加し、それらの間のさまざまな種類の依存関係を視覚化できます。詳細については、タイプ依存関係図を見るを参照してください。

プロジェクト依存性分析

一部のコードの問題は、ソリューションアーキテクチャを分析することで発見される場合があります。ReSharper は、プロジェクトの依存関係の分析を支援し、プロジェクトの依存関係図を視覚的に調査し、未使用の参照を見つけて最適化し、考えられるアーキテクチャの問題を検出することができます。

コマンドラインからのコード解析

CI、バージョン管理、または他のサーバーに自動コード品質分析を統合する必要がある場合は、無料で、ReSharper または Visual Studio を実行する必要がない ReSharper コマンドラインツールを使用できます。コマンドラインツールパッケージには、コードを分析するための 2 つのツールが含まれています。

サポートされている言語でのコード分析

ReSharper のコード解析機能のほとんどは、C# および Visual Basic .NET で利用可能であり、いくつかは複数の言語で利用可能であり、他の言語は言語固有です。次の表に、サポートされているすべてのコード分析機能と言語 / テクノロジを示します。

このセクション内のトピックに記載されている指示と例は、C# のコード解析機能の使用に対応しています。特定の言語で使用できるコード解析機能の詳細については、言語による ReSharper の該当するトピックを参照してください。

関連ページ:

コードインスペクション | ReSharper

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

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

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

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

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

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

ReSharper のソリューション全体の分析では、2 つの関連しているが異なる機能が実現します。ソリューション全体のエラー / 警告モニタ:ReSharper 自身のインスペクションによって検出されたコンパイラーのエラー / 警告とエラー / 警告の両方で、ソリューション内のすべてのエラー / 警告を常に追跡できます。この機能は設計時コードインスペクションと連携して 2 つの利点をもたらします。ソリューションにエラー / 警告が含まれていないことを確認するために、すべてのファイルを開く必要はあ...

構造検索と置換 | ReSharper

場合によっては、正規表現に一致する特定のシンボルやテキストの出現を検索するなどの標準的な検索方法では、目的の結果が得られない場合があります。例: プロジェクトに固有のコードの匂いを見つけたり、リファクタリングする必要があるコードを見つける必要があるかもしれません。ReSharper を使用すると、特定のパターンに一致するコードブロックを検索し、必要に応じて置き換えることができます。これらのブロックはまったく異なる場合があります。異なるタイプ、式、ステートメントなどを含むことができますが、論理的に...

カスタムコードインスペクションとクイックフィックスを作成する | ReSharper

コードに問題または悪い習慣があるが、ReSharper がそれを検出しない場合は、カスタムコードインスペクションを作成することができます。さらに、問題のあるコードを置き換えるコード、つまりカスタムクイックフィックスを指定することができます。カスタムインスペクションが正しく作成されていれば、コードベースのすべての同様の問題を見つけ出し、問題のあるコードをエディターでハイライトすることができます。カスタムインスペクションを作成するには、構造検索と置換メカニズムを利用できます。カスタムインスペクション...