• T4系列文章之2:T4工具简介、调试以及T4运行原理


    一、前言

    经过第一篇,我想大家现在对T4有了基本的印象,应该对T4有了一个大致的了解吧。现在,我们接着来讲一下T4的工具,然后下一篇我就开始T4的用法了。各位客官,就等了。


    二、工具介绍

    2.1 上图说话

    先不说,先来一张没有装工具的介绍,很平庸、很那个那个,看了很伤心:

    我没骗你们吧,是不是看了有点很默认的感觉?没错,我第一次也是这种感觉。后来我就在网上找啊找,找到了我要介绍的这款工具。在看看我使用这个工具的效果图,如下:

    你看,高亮语法,而且还有提示功能,爽歪歪。

    2.2 工具庐山真面

    如果你在VS 2010里进行编写 t4 模板语言,对不起,你每次打开都是那种没有高亮显示的那种效果,被VS 宠坏了的程序员,看到这样 心里肯定不舒服。

    【如下图animated-thumb.gif】很普通,没有高亮。第一次接触这个时候,心里真的非常不好受呢。

    其实说到这里,微软也真懒,你看她里面那么的C#、VB、XML、JavaScript啊等等什么,都实现了高亮提示,为什么就不对T4呢?哥表示强烈抗议。

    不过,抗议无效,还好的是有一位牛人开发了一款插件,可以很好的集成到VS里面去。

    下载地址:tangible T4 Editor plus modelling tools

    http://t4-editor.tangible-engineering.com/Download_T4Editor_Plus_ModelingTools.html

    只需要简单的填一下,就OK了,是免费的哦。

    主要的功能:

    1. 语法高亮显示
    2. T4中的指示符(directives)和代码快(code block)智能提示
    3. 对模板代码的智能提示
    4. 支持T4包含文件

    做的很牛X。

    下下来之后,是tangibleT4EditorPlusModellingToolsSetup.msi ,点击开始安装,这个木有问题吧。因为我用的是win7,所以会问一下安全性的问题:

    不理它,点击run。

    安装完了之后,你可以在你的“工具”→“扩展管理器”里去查看:

    打开之后 ,你可以看到一个T4 Editor 就是这个插件了。UML2Code,是我现在做的一个插件。呵呵。到时候 要是可行,我会放到园子里来。

    这个应该就真没多东西了。


    三、调试

    在T4里是没有像VS的C#调试那么简单,在左边设置一个调试点,然后点击运行就OK了。

    不过,也差不多吧!值需要的只是:<# Debugger.Break(); #> 把这个放到你需要调试的地方,等你运行的时候,就会自动的跳到这里啦。然后,你就可以看到你的内容,比如我在我的项目中调试中的结果:

    ,然后 安F10 行执行,F11是但不执行,都是一样的啦。


    四.T4的工作原理

    我在网上找了一张很好图,如下

    在这个第一步的时候,T4引擎编译这个模板文件:它会解析指令处理文件(也就是@开发部分)、文本文件和代码块,然后生成一个具体的TextTransformation 文件,接着会把这个类文件编译成.NET的程序集。

    第二步的时候,T4引擎会创建一个GeneratedTextTransformation 类的实例,它的名字叫做:TransformText的方法,这个方法的主要作用就是用来保存输出文件中放回的字符串。

    这个就是今天要说的内容了。

    祝大家新年好。

  • 相关阅读:
    求长度的另一种方法(""+obj).Length
    XCode中如何使用事务
    最终版 Reflector v1.0 (+简单的反流程混淆)
    与ObjectDataSource共舞
    性能&分布式&NewLife.XCode对无限数据的支持
    XCode之第一次亲密接触
    5,ORM组件XCode(动手)
    你知道吗?多个类多线程环境下静态构造函数的执行顺序
    使用C#编写IDA插件 IDACSharp v1.0.2010.0605
    XCMS V1.0 Beta1 发布
  • 原文地址:https://www.cnblogs.com/damonlan/p/2320429.html
Copyright © 2020-2023  润新知