zoukankan      html  css  js  c++  java
  • T4系列文章之2:T4工具简介、调试以及T4运行原理(转)

    出处:http://www.cnblogs.com/damonlan/archive/2012/01/12/2320429.html

    一、前言

    经过第一篇,我想大家现在对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的方法,这个方法的主要作用就是用来保存输出文件中放回的字符串。

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

  • 相关阅读:
    mysql中的内连接,外连接
    MySQL左连接、右连接
    attempted to assign id from null onetoone
    Hibernate session方法
    java.sql.SQLException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error
    hibernate多对一、一对一、一对多、多对多的配置方法
    齐头并进
    w5100的板子做回来了,再次犯错误。
    一个阶段的任务基本完成了
    任务繁重
  • 原文地址:https://www.cnblogs.com/smileberry/p/7667659.html
Copyright © 2011-2022 走看看