JetBrains Rider 2025.3 ヘルプ

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

JetBrains Rider のコードアノテーションの恩恵を受ける最も簡単な方法は、ソースコードのシンボルにアノテーション属性を追加して、JetBrains Rider があなたのソリューションをより正確かつ正確に分析できるようにすることです。

プロジェクトでコードアノテーションのサポートを有効にする

プロジェクトでアノテーション属性を利用するには、プロジェクトで参照する必要があります。

  • 推奨される方法は、JetBrains.Annotations アセンブリを使用して NuGet パッケージ(英語)をインストールすることです。

    実際には、パッケージを入手するために NuGet Web サイトにアクセスする必要はありません。using JetBrains.Annotations; ディレクティブを追加し、対応する Alt+Enter アクションを使用して、パッケージを自動的にフェッチするだけです。

    JetBrains Rider: A quick-fix that automatically fetches JetBrains.Annotations package from NuGet
  • プロジェクト参照JetBrains.Annotations.dll追加できます。これは、JetBrains Rider インストールディレクトリlib\ReSharperHost にあります。

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

ソリューション内のいずれかのプロジェクトで JetBrains.Annotations が参照されているか、属性宣言が埋め込まれている場合、目的のアノテーション属性を入力して Alt+Enter を押すと、現在のプロジェクトでこのモジュールを参照するクイックフィックスが呼び出され、欠落している using ディレクティブが追加されます。

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

ソースコードにコードアノテーションの宣言を埋め込む

コードアノテーション宣言のコピーは、JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション設定 | コードアノテーションページで入手できます。オプションで、コピー時に宣言を内部的に作成することもできます。

アノテーション属性のデフォルトの実装は JetBrains.Annotations 名前空間で宣言されていますが、アノテーションが機能するためにこの名前空間は必要ありません。ソリューションのどこにでも宣言を配置できます。JetBrains Rider はそれらを自動的に検出します。ただし、宣言が別の名前空間にある場合は、以下で説明するように、アノテーション属性を使用して名前空間を明示的に指定する必要があります。

ソリューションにアノテーション属性の複数の実装が含まれている場合もあります。たとえば、JetBrains Rider アノテーションクラスと同じ名前のクラス(CanBeNullAttributeNotNullAttribute など)がある場合や、以下を含むサードパーティのアセンブリを使用している場合があります。JetBrains Rider アノテーションクラス。このような場合、JetBrains Rider が適切なアノテーション属性クラスのセットを検索する名前空間を選択できます。

コードアノテーション属性のソースを変更する

  1. Ctrl+Alt+S を押すか、メニューからファイル | 設定 (Windows および Linux) または JetBrains Rider | 環境設定 (macOS) を選択し、左側のエディター | インスペクション設定 | コードアノテーションを選択します。

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

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

  4. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。

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

JetBrains Rider がアノテーションクラスの場所を認識するとすぐに、コンテキストアクションを使用して最も人気のあるアノテーション属性を追加できます。

  • [NotNull]

  • [CanBeNull]

  • [UsedImplicitly]

これらのアノテーションを追加するには、アノテーションを付けるシンボルの Alt+Enter を押します。JetBrains Rider は、文脈に応じて属性を提案します:

JetBrains Rider: 'Can be null' context action
2025 年 8 月 11 日

関連ページ:

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

コード検査などの JetBrains Rider の多くの機能は、問題を検出し、改善を提案し、他の方法でお手伝いするために、言語構成の動作を知ることに大きく依存しています。ただし、この種の分析ではすべてを検出できるわけではありません。例: メソッドがフォーマットメソッドとして設計されている場合、メソッドの呼び出しに必要な引数が含まれていない場合、構造解析では潜在的な問題は見つかりません。この場合や他の多くの場合、JetBrains Rider のは非常に役立ちます。このフレームワークで宣言された...

ソリューションを拡張して整理する

Rider のファイルの閲覧やエディターでのそれらのオープン、新しいアイテム(ディレクトリ、ファイル、クラスなど)の作成などの Rider のプロジェクト / ソリューション管理タスクは、エクスプローラーツールウィンドウで実行されます。このウィンドウを閉じると、を押すかメインメニューで選択して、いつでもウィンドウを表示することができます。このウィンドウの上部にあるスイッチャーを使って、さまざまなビューを切り替えることができます。ソリューションビュー。.sln ファイルで定義されているように、現...

レイヤーベースの設定

Rider 設定ダイアログでは、ページアイコンを見て、特定のページに使用されている設定管理メカニズムを確認できます。任意のアイコンでマークされていないページは、ユーザープロファイルに保存されている IDE 設定をホストします。レイヤーベースの設定は ReSharper と互換性があるため、ReSharper を使用している場合、チームメンバーのいずれかがそれを使用している場合、Rider は ReSharper で構成した設定を読み取って適用できます。「ソリューションパーソナル」および「ソリュ...

コンテキストアクション

コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変更、null をチェックするコードの生成、'foreach' の 'for' への変換などの小さな変更をすばやく導入できます。JetBrains Rider は、サポートされているすべての言語で数百のコンテキストアクションを提供します。完全なリストは、JetBrains Rider 設定のページ...