一、前言

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

最新文章

  1. Docker的ubuntu镜像安装的容器无ifconfig和ping命令的解决
  2. JavaWeb学习笔记——开发动态WEB资源(四)打印当前使用的是get方法
  3. Android Native jni 编程入门
  4. [荐]jquery插件开发入门
  5. 【126】win8的一些问题
  6. wget 命令用法详解
  7. linux命令之-pstree使用说明
  8. Python 基础-python函数
  9. SQL Server 2008 忘记sa密码的解决办法
  10. Ural 1319 - Hotel
  11. D14
  12. php 链接 sqlserver 2005以上版本数据库
  13. 一个简单的双向链表(C++实现)
  14. (NO.00005)iOS实现炸弹人游戏(九):游戏主角(二)
  15. Python 经典面试题汇总之网络篇
  16. Ddos 分布式拒绝服务 (报告)
  17. 音频科普---oggs
  18. 不同平台windows、linux、mac 上换行符的问题
  19. python-day47--mysql数据备份与恢复
  20. 浅析Java CompletionService

热门文章

  1. 获取android的SDK或者手机目录路径
  2. hdoj--3072--Intelligence System(scc+缩点+数据去重)
  3. The Unique MST--hdoj
  4. Laravel-查询作用域
  5. ASP.NET MVC4入门到精通系列目录汇总(转)
  6. TLD算法
  7. css3 边框、背景、文本效果
  8. (整)deepin下mysql的安装与部分错误解决办法
  9. 可以忽略的:BASH:/:这是一个目录
  10. DP:***24种设计模式--转自刘伟