zoukankan      html  css  js  c++  java
  • VS2010 中的代码生成器 T4 Text Template Transformation Toolkit

    你可能使用过 Code Smith ,或者动软代码生成器。但是,在 VS2010 中就有一个强大的代码生成器,你使用过吗?

    它位于你的 C:\Program Files\Common Files\microsoft shared\TextTemplating\10.0 文件夹下。如图所示:

    不过,我们一般不直接使用这个工具,而是通过 VS2010 来使用它。

    在 VS2010 中创建一个控制台项目,然后,选择增加一个文本模板文件,注意文件的扩展名为 .tt,如图所示:

     

    选择增加后,会看到一个提示框,这是在提示你,模板可能有风险。这是我们自己做的,当然没有风险。

    现在,你会看到默认情况下,这个模板文件中的内容

    1 <#@ template debug="false" hostspecific="false" language="C#" #>
    2 <#@ output extension=".txt" #>

    而且,你会在解决方案管理器中看到对应的生成文件 TextTemplate1.txt ,这个名字来自于你的模板文件,只不过将扩展名更新为了 txt。

    更新的原因是模板中的第二行说明。下面我们将扩展名更改为 .html

    1 <#@ template debug="false" hostspecific="false" language="C#" #>
    2 <#@ output extension=".html" #>

    保存后,txt 文件不见啦,你会看到一个名为 TextTemplate1.htm 的文件。

    打开你的  TextTemplate1.html  ,会看到里面没有内容。

    下面我们写一个简单的模板,在模板文件中增加如下的内容。

     1 <#@ template debug="false" hostspecific="false" language="C#" #>
     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>

    存盘!然后,看看你的文件中有什么!

     1 <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 相关的工具,使用,常见问题。

  • 相关阅读:
    Java 时钟
    mybatis中的#和$的区别
    vuex数据管理-数据共享
    vuex数据管理-数据适配
    vue双向数据绑定原理
    基于VUE的SPA单页应用开发-加载性能篇
    vue2.0读书笔记3
    移动端软键盘收起监听
    移动端模态窗口的滚动和橡皮筋问题解决方案
    window.history的跳转实质-HTML5 history API 解析
  • 原文地址:https://www.cnblogs.com/haogj/p/1757424.html
Copyright © 2011-2022 走看看