次の方法で共有


T4 テキスト変換のカスタマイズ

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

このセクションでは...

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

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

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

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

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