ReSharper 2021.1 ヘルプ

アノテーションを使用してコードインスペクションを調整する

コード検査や他の多くの ReSharper の機能は、問題を検出し、改善を提案し、他の方法であなたを手助けするために、言語構成の動作を知ることに主に依存しています。

しかし、この種の分析ではすべてを検出することはできません。例: メソッドが null を返さないように設計されており、そのクライアントがそれに応じて設計されている場合、誰かが null を返すメソッドを変更した場合、構造分析によって問題が見つかることはありません。

これと他の多くのケースでは、ReSharper の JetBrains.Annotations は大きな助けになります。このフレームワークで宣言された属性を使用することで、ReSharper が必要な方法でコードを分析できるようになります。例:

[NotNull] public object Foo() { return null; // Warning: Possible 'null' assignment }

これは最も単純な例であり、より複雑な使用例を持つ他の役立つ属性があります。これらの属性の完全なリストはリファレンスにあります

ほとんどの場合、コードアノテーション属性は特定のコードインスペクションを有効にします。

また、コードアノテーションにより、クイックフィックスコード補完の提案、およびアノテーション付きアイテムのコード生成機能が可能になります。アノテーションはソーステンプレートを作成して使用するためにも必要です。

ReSharper では、コードシンボルに 2 つの方法でアノテーションを付けることができます。

  • 上記の例に示すように、ソースコードのシンボルにアノテーションを付けることができます。この場合、プロジェクト内の JetBrains.Annotations 名前空間を参照する必要があります。詳細は、ソースコードのアノテーションを参照してください。

  • ソースにアクセスできない場合でも、コンパイルされたライブラリコードのシンボルにアノテーションを付けることができます。詳細は、外部アノテーションを参照してください。

この機能は、次の言語とテクノロジーでサポートされています。

C# の機能の使用方法については、こちらの説明と例を参照してください。他言語の詳細については、言語による ReSharper の対応するトピックを参照してください。

関連ページ:

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

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

文字列リテラルのコード解析とヘルパー | ReSharper

ReSharper は、コード内の文字列リテラルに多数の機能を提供します。ReSharper のコード分析と多数のヘルパーから次のメリットを得ることができます。プレーンな文字列:コードにプレーンな文字列を使って作業しているときに ReSharper がどのように役立つかは次のとおりです。デフォルトでは、ReSharper は、すべての非逐語的な文字列の正しいおよび不正なエスケープシーケンスをハイライトします。キャレットが文字列内にあるときにを押し、対応するコンテキストアクションを選択すること...

値と null 可能性の分析 | ReSharper

ReSharper は、可能な「null」逆参照、重複ブール比較および null ・チェックを見つけるのに役立つ値分析を実行します。値を分析するさまざまな方法:ReSharper は、2 つの一般的な方法で値を分析します。言語構成体の動作を理解します。次の例では、パラメーターが明示的に null 可能性をチェックされたという事実に基づいて、ReSharper はの値が実際に 'null' であると合理的に想定し、対応する警告を表示します。コードアノテーション属性に依存する ([CanBeNull...

契約アノテーション

契約アノテーションでは、与えられた入力に対する期待される出力を定義することができます。言い換えれば、関数の参照型とブール型引数とその戻り値の間の依存関係を定義することができます。契約アノテーションのメカニズムにより、より簡単で安全な方法で消費できる API を作成できます。を使用して関数を装飾することにより、契約アノテーションを実装できます。ソースコード JetBrains.Annotations 名前空間を参照するで実行する場合。外部アノテーションを使用して、既存のバイナリモジュールの関数にアノ...

ソースコードのアノテーション | ReSharper

ReSharper のコードアノテーションの恩恵を受ける最も簡単な方法は、ソースコードのシンボルにアノテーション属性を追加し、ReSharper がソリューションをより正確かつ洞察力で分析できるようにすることです。デフォルトでは、すべてのアノテーション属性クラスは属性でマークされているため、コンパイラーはコード内の属性の使用を無視します。つまり、'JetBrains.Annotations.dll' アセンブリへのバイナリ参照は生成されません。ただし、プロジェクトで「JETBRAINS_ANNO...

ASP.NET MVC 特有の機能 | ReSharper

ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...