Microsoft Domain-Specific Language Tools は、モデルで表されるデータからコード、ドキュメント、構成ファイル、およびその他の成果物を生成する強力な方法を提供します。 Domain-Specific 言語ツールを使用すると、データを表すクラスのセットを作成できます。また、名前とプロパティがそのデータを反映するクラスにテキスト テンプレートを記述できます。
たとえば、Fabrikam には、顧客名と電子メール アドレスの XML ファイルがあります。 開発者は、Customer がクラスであるモデルを作成し、プロパティ名と電子メールを使用します。 HTML ページの一部としてすべての顧客のテーブルを生成するこのフラグメントを含む、データを処理するためのいくつかのテキスト テンプレートを記述します。
<table>
<# foreach (Customer c in ContactList) { #>
<tr><td> <#= c.FullName #> </td>
<td> <#= c.EmailAddress #> </td> </tr>
<# } #> </table>
顧客データベースが処理されると、XML ファイルがモデル ストアに読み込まれます。 Domain-Specific 言語ツールを使用して作成された ディレクティブ プロセッサにより、テキスト テンプレート内のコードで Customer クラスを使用できるようになります。 多くのテキスト テンプレートは、同じストアに対して実行できます。
Domain-Specific Language Toolsには、テキストテンプレートが不可欠です。 これらは、ドメイン モデルの要素、VSPackage、およびツールを Visual Studio と統合するために使用されるコントロールのソース コードを生成するために使用されます。
このセクションでは、Domain-Specific 言語ツールで使用されるテキスト テンプレートを作成、変更、デバッグする方法について説明します。
このセクションにて
テキスト テンプレートからモデルにアクセスする
テキスト テンプレートでのドメイン固有言語の参照に関する基本情報を提供します。
チュートリアル: モデルにアクセスするテキスト テンプレートのデバッグ
ドメイン固有の言語を参照するテキスト テンプレートでトラブルシューティングとデバッグを行う方法について説明します。
チュートリアル: ホストを生成されたディレクティブ プロセッサに接続する
生成されたディレクティブ プロセッサにカスタム ホストを接続する方法について説明します。
DslTextTransform コマンド
ドメイン固有の言語を参照するテキスト テンプレートのコマンド ラインで TextTransform 実行可能ファイルを実行するコマンド ファイルについて説明します。
リファレンス
T4 テキスト テンプレートの作成
テキスト テンプレート ディレクティブとコントロール ブロックの構文を提供します。
関連コンテンツ
-
T4 テキスト テンプレートを使用したデザイン時のコード生成
テキスト テンプレート変換プロセスについて説明します。 -
ビルド プロセスでのコード生成
ビルド サーバー上の DSL からファイルを生成する場合は、このトピックをお読みください。