次の方法で共有


Domain-Specific 言語からのコードの生成

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 テキスト テンプレートの作成
テキスト テンプレート ディレクティブとコントロール ブロックの構文を提供します。