DSL モデルと、モデルに対応するコードを生成する複数の T4 テンプレートがあります。私がやりたいことは、モデルの保存時にすべてのテンプレートが実行されることです。各テンプレートは、複数の出力ファイルを作成します。テンプレートを処理して生成されたコードを返すモデル用のカスタム ツールを作成する方法を理論的に知っています。しかし、IVsSingleFileGenerator インターフェイスは生成された単一のファイルを返すため、複数のテンプレートを処理するにはどうすればよいでしょうか。
私が考える 1 つの方法は、処理されるテンプレートのパブリック メソッドを使用する「マスター」T4 を作成することです。しかし、「<#+」の内部では、テンプレートの残りの部分のようにプレーンテキストを書くことができないため、各テンプレートに何百もの「Write()」呼び出しを含む醜いメソッドを記述しなければなりません。または、生成されるすべてのファイルのコードを含む 1 つの巨大なテンプレートを作成することもできます。しかし、それは醜く、非常に紛らわしいと思います。
または、何らかの方法で T4 テンプレートをインスタンス化し、独自にファイルを処理して作成する方法はありますか? テンプレートをインスタンス化して処理できるようにする方法しか知りませんが、自分で処理する必要がある生成コードしか取得できません。