ReSharper 2024.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 を実行する必要のない InspectCode コマンドラインツールを使用できます。

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

ReSharper のコード分析機能のほとんどは、C# と Visual Basic で利用できます。一部は複数の言語で利用でき、その他は言語固有です。以下の表は、すべてのコード分析機能と、それらがサポートされている言語 / テクノロジを示しています。

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

関連ページ:

コードインスペクション

ReSharper は、サポートされているすべての言語で 2500 を超えるコードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出してハイライトするために適用されます。また、特定の範囲内のすべてのコードの問題を検出するために適用されます。インスペクション ReSharper が提供するコードの種類を調べるには、異なる言語の ReSharper コードインスペクションの全リストをご覧ください。コードインスペクションは、以下のグループに分...

設計時にコードの問題を分析する

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

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

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

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

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

構造検索と置換

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

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

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