JetBrains Rider 2026.1 Help

C# ソースジェネレーターの操作

C# ソースジェネレーター(英語)はコンパイル時に実行され、プロジェクトにコンパイルされる追加の C# ファイルを生成します。 JetBrains Rider を使うと、生成されたソースをエディターやソリューションエクスプローラーで確認できます。 また、実行時に生成されたコードをデバッグしたり、(ツールチェーンでサポートされている場合は)ジェネレーター自体をデバッグしたりすることもできます。

ソースジェネレーターの出力をインスペクションする

ジェネレーターを実行すると、C# ソース(たとえば、 .g.cs で終わるファイル)が生成されます。 JetBrains Rider では、これらのソースに移動して、何が生成され、利用プロジェクトでどのように使われているか確認できます。

  • ソリューションエクスプローラーで、 依存関係 | ソースジェネレーター ノードを展開して、生成されたファイルを表示します。

    JetBrains Rider: 生成されたソースを表示するソリューションエクスプローラー
  • コード内のシンボルから 宣言に移動Ctrl+B または Ctrl/Cmd -クリック)を使って、生成された宣言に移動します。

    JetBrains Rider: 生成されたソースに移動する
  • 生成されたファイルをエディターで開き、出力された型、メンバー、属性をインスペクションします。

  • 生成された型とメンバーに対して 使用箇所の検索 Alt+F7 を呼び出すことによって、生成されたシンボルがソリューションのどこで使用されているかを調べることができます。

  • ジェネレーターがディスク上のファイルを更新するとすぐに、生成されたファイルは自動的に更新されます。

ソース生成コードをデバッグする

ソースジェネレーターによって生成された コードは、他の C# コードと同じようにデバッグできます。 アプリケーションやテストで生成されたメソッドを実行する際は、ステップインして変数をインスペクションし、コールスタックを使用して生成されたロジックの動作を理解できます。

デバッグ中にソース生成コードにステップインする

  1. ジェネレーター出力を使用するアプリケーションまたはテストの場合は デバッグセッションを開始するです。

  2. 実行が生成されたコードの呼び出しに到達したら、 デバッガーのステップアクションを使用して、生成されたメソッドに入ります。

  3. 変数のインスペクションを実行して 式を評価し 、生成されたロジックの実行時動作を検証します。

トラブルシューティング

生成されたファイルをインスペクションできるが、ジェネレータープロジェクトをデバッグできない場合は、次の点を確認してください。

  • パッケージ / ツールチェーンの不一致。 ジェネレーターのデバッグは、Roslyn およびコンパイラーツールセットのバージョンに影響を受ける可能性があります。 パッケージのバージョンをお使いの JetBrains Rider バージョンでサポートされているものに合わせるか、JetBrains が参照するテンプレートと設定を比較してください。

  • ジェネレーターが実行されない。 シナリオによってはビルド結果が再利用される可能性があります。 ジェネレーターが確実に実行されるように、使用プロジェクトをリビルドしてください。

  • 増分ジェネレーターキャッシュ。 増分ジェネレーターは、入力値が変化しない場合は作業をスキップすることがあります。 関連する入力値を変更するか、クリーンアップ / リビルドして強制的に再生成してください。

2026 年 6 月 12 日