BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Visual Studio 2008のText Template Transformation Toolkit

Visual Studio 2008のText Template Transformation Toolkit

Visual Studio 2008には、Domain-Specific Language Toolsの一部としてText Template Transformation Toolkit(T4とも呼ばれる)が含まれており、テキストテンプレートに基づいて、コードを生成するのに使用することができる。T4は、DSL(source)や GAT(source)ツールキットに組み込まれているVisual Studio 2005でも使用することができる。

MSDN(source)の説明では以下のようである。

テキストテンプレートはファイルであり、テキストブロックおよび制御ロジックを含んでいる。テキストテンプレートを変換する際、制御ロジックがテキストブ ロックとモデル内のデータを結合し、出力ファイルを生成する。テキストテンプレートを使用して、コードファイルやHTMLレポートのようなテキスト成果物 を作成することができる。たとえば、ウィザードのように、ユーザインターフェイスの個々のページ間でのフローモデルの制御は、入力としてテキストテンプ レートに渡される。テキストテンプレートは、そのフローの制御を実装するコードおよび構成ファイルを生成する。

テキストテンプレートは、テキストテンプレートファイルを入力として受け取り、それを変換し、出力テキストファイルを生成するという変換プロセスを経る。 変換プロセスには、2つのステップがある。最初のステップでは、T4エンジンがテキストテンプレートを使用して、 仮の変換クラスを生成する。次のステップでは、T4エンジンがその変換クラスをアセンブリーにコンパイルし、コードを実行して出力テキストファイルを生成 する。

「Hello World!」の例は、以下のとおりである。

<#@ template language="C#" #>
<# Write("Hello World!") #>

テキストテンプレートには、Visual BasicまたはC#コードを含めることが可能であるが、指定されていない場合は、C#はデフォルトの言語である。出力ディレクティブは生成済みテキスト ファイルタイプを指定するのに使用される。多くの出力ファイルタイプがあるが、最も一般的なものとしては、.html、.txt、.csおよび.vbであ る。デフォルトの出力ファイルタイプは.csである。出力ディレクティブの使用方法の例は、以下のとおりである。

<#@ output extension=".html" #>

Visual Studioでは、テキストテンプレートの編集サポートが制限されている。Clarius Consultingには、「さまざまなT4テンプレートパーツのカラーライゼーション、IntelliSenseお よびテンプレートの設計時のプレビュー向けのサポートを提供している」フリーエディター(サイト・英語)がある。Visual Studioは、テキストテンプレートのデバッグおよび変換プロセスをサポートするが、 単純ではない。デバッグに関する詳細が、MSDN(sorce)にある。またGareth Jones氏による簡潔なチュートリアル(source)も利用できる。Oleg Sych氏はT4の導入記事(source)を投稿している。より総合的なMSDN文書は、ここ(source)で利用可能である。

原文はこちらです:http://www.infoq.com/news/2008/04/T4

この記事に星をつける

おすすめ度
スタイル

BT