ReSharper 2019.3ヘルプ

ソースコードの注釈

ReSharperのコード注釈の恩恵を受ける最も簡単な方法は、ソースコードのシンボルに注釈属性を追加し、ReSharperがソリューションをより正確かつ洞察力で分析できるようにすることです。

デフォルトでは、すべての注釈属性クラスは [Conditional("JETBRAINS_ANNOTATIONS")] 属性でマークされているため、コンパイラはコード内の属性の使用を無視します。つまり、'JetBrains.Annotations.dll' アセンブリへのバイナリ参照は生成されません。ただし、プロジェクトで「JETBRAINS_ANNOTATIONS」条件付きコンパイルシンボルを定義して、メタデータ内の属性を保持することができます。

プロジェクトでコード注釈のサポートを有効にする

プロジェクトでReSharperコード注釈属性を使用するには、次のいずれかの方法で参照する必要があります。

  • 推奨される方法は、JetBrains.Annotations アセンブリと一緒にNuGetパッケージ(英語)をインストールすることです。
    実際には、パッケージを入手するためにNuGetのWebサイトにアクセスする必要すらありません。 using JetBrains.Annotations; ディレクティブを追加するだけで、対応する Alt+Enter アクションを使用して自動的にパッケージを取得します。

    A quick-fix that automatically fetches JetBrains.Annotations package from NuGet

  • ReSharperインストールディレクトリにある JetBrains.Annotations.dllプロジェクト参照(英語)追加(英語)できます。

  • デフォルトの JetBrains.Annotations 名前空間または他の名前空間を使用して、プロジェクト内の任意の場所に属性宣言を埋め込むこともできます。

JetBrains.Annotations.dll が参照されている場合、または属性宣言がソリューション内のいずれかのプロジェクトに埋め込まれている場合は、目的の注釈属性を入力して Alt+Enter を押し、現在のプロジェクトでこのモジュールを参照するクイックフィックスを呼び出して、足りない名前空間インポートディレクティブを追加できます。

Quick-fix for adding reference to the JetBrains.Annotations module

あるいは、Ctrl+Alt+Space を2回押して二重インポートの補完を呼び出すこともできます。これにより、属性が検索され、名前空間がインポートされ、参照が追加されます。

Importing the NotNull attribute with code completion

ソースコードにコード注釈の宣言を埋め込む

ReSharperオプション(Alt+R,,O)のコード・インスペクション | コード注釈ページで、コード注釈宣言のコピーを取得できます。必要に応じて、コピーするときに、宣言を内部にするか、宣言に [Conditional("JETBRAINS_ANNOTATIONS")] 属性を追加するか、またはその両方を選択できます。

注釈属性のデフォルト実装は JetBrains.Annotations 名前空間で宣言されていますが、この名前空間は注釈が機能するために必要ではありません。宣言はソリューションのどこにでも置くことができます。ReSharperはそれらを自動的に検出します。ただし、宣言が別のネームスペースにある場合は、以下で説明するように、注釈属性を使用してネームスペースを明示的に指定する必要があります。
また、ソリューションに注釈属性の実装がいくつか含まれている場合もあります。たとえば、ReSharper注釈クラス(CanBeNullAttribute , NotNullAttributeなど)と同じ名前のクラスがある場合、またはReSharper注釈を含むサードパーティアセンブリを使用している場合クラス。このような場合、ReSharperが適切な注釈属性クラスのセットを探す必要があるネームスペースを選択できます。

コード注釈属性のソースを変更するには

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

  2. JetBrains.Annotations 以外の注釈クラス(ReSharperは CanBeNullAttribute 宣言と NotNullAttribute 宣言のみを検索する)を持つ JetBrains.Annotations 以外のすべてのネームスペース(ソースコードと参照されたアセンブリの両方)は、コード注釈属性を持つ名前空間リストに表示されます。目的の実装が含まれているエントリを確認します。

  3. リストに複数の名前空間がある場合は、デフォルト注釈ネームスペースリストでReSharperコード分析エンジンが使用する名前空間を選択します。

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

コンテキストアクションを使用して注釈属性を追加する

ReSharperが注釈クラスの位置を認識したらすぐに、コンテキストアクションを使用して最も人気のある注釈属性を追加することができます。

  • [NotNull]
  • [CanBeNull]
  • [UsedImplicitly]

これらの注釈を追加するには、注釈を付ける記号の Alt+Enter を押すと、ReSharperは文脈に応じて属性を提案します:

ReSharper: 'Can be null' context action
最終更新日: 2020年2月24日

関連ページ:

注釈を使用してコードインスペクションを調整する

コード検査や他の多くのReSharperの機能は、課題を検出し、改善を提案し、他の方法であなたを手助けするために、言語構成の動作を知ることに主に依存しています。しかし、この種の分析ではすべてを検出することはできません。例:メソッドがを返さないように設計されており、そのクライアントがそれに応じて設計さ...

インストールガイド

ReSharperはVisual Studioの拡張です。Visual Studio 2010, 2012, 2013, 2015, 2017,および2019に対応しています。インストール後、Visual Studioのメインメニューに新しいReSharperエントリがあります。ほとんどのReSha...

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

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

ダブル補完

すべてのReSharperの補完ショートカットは、複数回連続して押すことができます。この場合、ReSharperはさらに補完リストに提案を加えます。新しい提案には緑色の縦線が付いているため、簡単に見つけることができます。必要に応じて、ReSharperオプション(Alt+R,,O)のページの新しい項...

ReSharper設定の管理と共有

ReSharperは、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例:記号のアイ...

コンテキスト・アクション

コンテキストアクションのいくつかの例をReSharperWebサイトでチェックすることができます。コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変...