Share via


T4 テキスト変換をカスタマイズする

テキスト テンプレートは、変換プロセスを使用してプログラム コードやその他のテキスト ファイルを生成できるようにする Visual Studio の機能です。 Visual Studio SDK を使用して、テキスト テンプレートのディレクティブ プロセッサまたはテキスト テンプレート ホストをカスタマイズすることで、既定のテンプレート変換プロセスを拡張できます。

このセクションの内容

テキスト テンプレート変換プロセス - テキスト変換のしくみと、テンプレート ホストとディレクティブ プロセッサの役割について説明します。

カスタム T4 テキスト テンプレート ディレクティブ プロセッサの作成 - ディレクティブ プロセッサは、<#@template#>. などのテンプレート内のディレクティブを処理します。それはテンプレートのコンパイル中に実行され、アセンブリやその他のリソースを読み込むことができます。 実行時にリソースを読み込むコードを挿入することもできます。 独自のディレクティブ プロセッサを定義することで、テンプレートの複雑さを軽減できます。

VS 拡張機能でのテキスト変換の呼び出し - メニュー コマンドやイベント ハンドラーなどの Visual Studio 拡張機能を記述する場合、拡張機能でテキスト テンプレート サービスを使用してテキスト テンプレートを変換できます。 パラメーター データは、Session オブジェクトを使用してテンプレートに渡すことができ、<#@parameter#> ディレクティブを使用してテンプレート内から値を取得できます。

カスタム ホストを使用したテキスト テンプレートの処理 - テキスト テンプレートのコードが実行されると、ホストによって外部ファイルとアプリケーションの状態へのアクセスが提供されます。 たとえば、Visual Studio でテキスト変換を実行するホストで、ソリューション エクスプローラーへのアクセスを提供できます。 エラー メッセージ ウィンドウへのエラーの表示も行います。 テキスト変換を別のコンテキストで実行する場合は、そのコンテキストで利用可能なサービスへのアクセスを提供する独自のホストを定義できます。

Visual Studio 拡張機能を記述する場合は、独自のホストを記述する代わりに、既存のテキスト変換サービスを使用することを検討してください。 詳細については、「VS 拡張機能でのテキスト変換の呼び出し」を参照してください。