次の方法で共有


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

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

このセクションの内容

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

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

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

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

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

関連項目

T4 テキスト テンプレートの作成

テキスト テンプレートのディレクティブと制御ブロックの構文について説明します。