VS2010 中的代码生成器 T4 - Text Template Transformation Toolkit
你可能使用过 Code Smith ,或者动软代码生成器。但是,在 VS2010 中就有一个强大的代码生成器,你使用过吗?
它位于你的 C:\Program Files\Common Files\microsoft shared\TextTemplating\10.0 文件夹下。如图所示:
不过,我们一般不直接使用这个工具,而是通过 VS2010 来使用它。
在 VS2010 中创建一个控制台项目,然后,选择增加一个文本模板文件,注意文件的扩展名为 .tt,如图所示:
选择增加后,会看到一个提示框,这是在提示你,模板可能有风险。这是我们自己做的,当然没有风险。
现在,你会看到默认情况下,这个模板文件中的内容
2 <#@ output extension=".txt" #>
而且,你会在解决方案管理器中看到对应的生成文件 TextTemplate1.txt ,这个名字来自于你的模板文件,只不过将扩展名更新为了 txt。
更新的原因是模板中的第二行说明。下面我们将扩展名更改为 .html
2 <#@ output extension=".html" #>
保存后,txt 文件不见啦,你会看到一个名为 TextTemplate1.htm 的文件。
打开你的 TextTemplate1.html ,会看到里面没有内容。
下面我们写一个简单的模板,在模板文件中增加如下的内容。
2 <#@ output extension=".html" #>
3
4 <html>
5 <body>
6 <h1>模板示例</h2>
7 <table>
8 <# for (int i = 0; i < 3; i++)
9 { #>
10 <tr><td>Name <#= i #> </td>
11 <td>Value <#= i * i #> </td> </tr>
12 <# } #>
13 </table>
14 </body>
15 </html>
存盘!然后,看看你的文件中有什么!
2 <body>
3 <h1>模板示例</h2>
4 <table>
5 <tr><td>Name 0 </td>
6 <td>Value 0 </td></tr>
7 <tr><td>Name 1 </td>
8 <td>Value 1 </td> </tr>
9 <tr><td>Name 2 </td>
10 <td>Value 4 </td> </tr>
11 </table>
12 </body>
13 </html>
太震撼啦,还能做什么呢?
你可以先看一看这篇文章,scott 的 T4 (Text Template Transformation Toolkit) Code Generation - Best Kept Visual Studio Secret
下一次,我将详细介绍 T4 相关的工具,使用,常见问题。