T4 テキスト変換のカスタマイズ
テキスト テンプレートは、変換プロセスを通じてプログラム コードやその他のテキスト ファイルを生成できる Visual Studio の機能です。 Visual Studio SDK を使用すると、テキスト テンプレート ディレクティブ プロセッサまたはテキスト テンプレート ホストをカスタマイズすることによって、既定のテンプレート変換プロセスを拡張することができます。
このセクションの内容
テキスト テンプレート変換プロセス
テキスト変換のしくみのほか、テンプレート ホストとディレクティブ プロセッサの役割について説明します。カスタム T4 テキスト テンプレート ディレクティブ プロセッサの作成
ディレクティブ プロセッサは、テンプレート内のディレクティブ (<#@template#>. など) を処理します。これはテンプレートのコンパイル中に実行され、アセンブリやその他のリソースを読み込むことができます。 実行時にリソースを読み込むコードを挿入することもできます。 独自のディレクティブ プロセッサを定義することによって、テンプレートを単純化できます。VS 拡張機能内でのテキスト変換の呼び出し
メニュー コマンドやイベント ハンドラーなどの Visual Studio 拡張機能を作成する場合は、拡張機能でテキスト テンプレート サービスを使用してテキスト テンプレートを変換できます。 Session オブジェクトを使用してパラメーター データをテンプレートに渡し、<#@parameter#> ディレクティブを使用してテンプレート内から値を取得できます。カスタム ホストを使用したテキスト テンプレートの処理
ホストは、テキスト テンプレートのコードが実行されたとき、外部ファイルやアプリケーションの状態へのアクセスを可能にします。 たとえば、Visual Studio でテキスト変換を実行するホストは、ソリューション エクスプローラーへのアクセスを提供できます。 また、エラー メッセージ ウィンドウにエラーを表示することもできます。 テキスト変換を別のコンテキストで実行する必要がある場合は、そのコンテキストで利用できるサービスへのアクセスを可能にする独自のホストを定義できます。Visual Studio 拡張機能を作成する場合は、独自のホストを作成するのではなく、既存のテキスト変換サービスを使用することを検討します。 詳細については、「VS 拡張機能内でのテキスト変換の呼び出し」を参照してください。
関連項目
テキスト テンプレートのディレクティブと制御ブロックの構文について説明します。