代码生成新选择-T4模板引擎

在博客堂看到ASP.NET MVC中的T4模板, 之前我也写过一篇文本模板转换工具箱T4。

T4(Text Template Transformation Toolkit)则是微软官方在VisualStudio 2008中开始使用的代码生成引擎,可惜T4不像微软公布的别的工具那样参考资料充足,而且模板也很少,MSDN上甚至没有一个专门的目录用来介绍它,惟一沾边的就是在介绍DSL工具时带上的Generating Artifacts By Using Text Templates。 Visual Web Developer项目组的博客上有一个对ASP.NET MVC中T4模板进行深度探索的帖子:T4模板,给ASP.NET MVC开发者的快速使用指南。其中提到已经有了T4 Toolbox这样的模板库插件,而且也有了Clarius Consulting的T4 Editor这样的商业编辑工具,他们也提供了社区版本,但编写复杂的T4模板依然是一件麻烦而且要求挺高的事情。

根据Miguel de Icaza在Mono's Text Template Transformation Toolkit (T4)的介绍:“T4 Support in MonoDevelop, with error reporting and document outline”,支持tt文件的语法高亮和编辑时检查哦,不愿用T4 Editor的可以用MonoDevelop试试了。

T4模板不仅仅应用在ASP.NET MVC里了,它可以应用于代码生成的所有领域,只是T4的资料太少了。我在社区里建了一个小组T4模板引擎,欢迎大家一起来整理T4的资料。

时间: 2024-10-26 22:06:23

代码生成新选择-T4模板引擎的相关文章

编写T4模板进行代码生成无法避免的两个话题:"Assembly Locking"&"Debug"

在这之前,我写了一系列关于代码生成和T4相关的文章,而我现在也试图将T4引入我们自己的开发框架.在实践中遇到了一些问题,也解决了不少问题.如果你也在进行T4相关的开发,相信你也一定会遇到这些问题.为此,特意将这些问题和解决方案与朋友们分享,希望在遇到这些问题的时候少走弯路.本篇文章介绍的是两个重要的话题:程序集锁定和调试. 目录 一.程序集引用导致的编译问题 二.T4引擎对引用程序集的锁定 三.Debugger.Break导致VS 2010的Crash 四.在Debugger.Break之前加上

如何利用T4 模板提升ASP.NET MVC开发速度

最近由于需要在框架中提供一些自定义模板的功能,找到了一篇博客,可惜似乎是翻译工具直接翻的,读不通顺,就试着自己翻译下,我不会完全翻译原文的句子,可能会对原文进行小范围的我认为更合适的句子并添加些注释,,原文地址如下: http://blogs.msdn.com/b/webdev/archive/2009/01/29/t4-templates-a-quick-start-guide-for-asp-net-mvc-developers.aspx 在我们最近的博客中提到的ASP.NET MVC Re

关于T4模板和ASP.NET MVC

Microsoft Visual Studio 包含一个称为 T4(文本模板转换工具包的缩写)的代码生成引擎.您或许已在 Visual Studio 中使用 T4 模板,甚至还不知道这些模板已在后台工作.在本文中,我将简单介绍 T4 模板并说明 ASP.NET MVC 如何使用此项技术.同时我还会为您介绍如何自定义 T4 模板以使用 MVC 框架提高您的日常工作效率. 该模板工具包背后的基本理念是分析输入文件并将其转换为输出文件.输入文件是一个模板(文件扩展名为 .tt 的文本文件).输出文件还

一起谈.NET技术,编写T4模板无法避免的两个话题:"Assembly Locking"&"Debug"

在这之前,我写了一系列关于代码生成和T4相关的文章,而我现在也试图将T4引入我们自己的开发框架.在实践中遇到了一些问题,也解决了不少问题.如果你也在进行T4相关的开发,相信你也一定会遇到这些问题.为此,特意将这些问题和解决方案与朋友们分享,希望在遇到这些问题的时候少走弯路.本篇文章介绍的是两个重要的话题:程序集锁定和调试. 目录 一.程序集引用导致的编译问题 二.T4引擎对引用程序集的锁定 三.Debugger.Break导致VS 2010的Crash 四.在Debugger.Break之前加上

编写T4模板无法避免的两个话题:"Assembly Locking"&"Debug"

在这之前,我写了一系列关于代码生成和T4相关的文章,而我现在也试图将T4引入我们自己的开发框架.在实践中遇到了一些问题,也解决了不少问题.如果你也在进行T4相关的开发,相信你也一定会遇到这些问题.为此,特意将这些问题和解决方案与朋友们分享,希望在遇到这些问题的时候少走弯路.本篇文章介绍的是两个重要的话题:程序集锁定和调试. 目录 一.程序集引用导致的编译问题 二.T4引擎对引用程序集的锁定 三.Debugger.Break导致VS 2010的Crash 四.在Debugger.Break之前加上

详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】_javascript技巧

目录 一.AJAX示例 1.1.优点 1.2.缺点 1.3.jQuery AJAX示例 二.延迟对象(Deferred) 2.1.回调函数 2.2.deferred.done 三.跨域 3.1.什么是跨域 3.2.JSONP跨域 3.3.jQuery使用JSONP跨域 3.4.跨域资源共享(CORS) 3.5.小结 四.弹出层 五.模板引擎 5.1.Hello World 5.2.方法 5.3.与AJAX结合应用 六.示例下载 一.AJAX示例 AJAX全称为"Asynchronous Java

JavaScript学习总结(二)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

一.AJAX示例 AJAX全称为"Asynchronous JavaScript And XML"(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效果. 1.1.优点 不需要插件支持 优秀的用户体验 提高Web程序的性能 减轻服务器和带宽的负担 1.2.缺点 浏览器对XMLHttpRequest对象的支持度不足,几乎所有浏览器现在都支持 破坏浏览器"前进"."后退"按钮的正常功能,可以通过简单的

悠然乱弹:“最好的模板引擎”Beetl 剖析及与Tiny模板引擎对比

Beetl的环境搭建 输入命令 ? 1 git clone https://git.oschina.net/xiandafu/beetl2.0.git 不一会儿,输出了下面的内容 ? 1 2 3 4 5 6 7 Cloning into 'beetl2.0'... remote: Counting objects: 5807, done. remote: Compressing objects: 100% (2145/2145), done. remote: Total 5807 (delta

CodeSmith模板引擎系列一

     在前些日子写了一些关于CodeDom的代码生成技术(目录),这里先感谢大家的支持和关注.我打算写一些代码生成编译技术的系列,包括CodeDom.CodeSmith模板.T4模板.StringTemplate,以及Expression Tree的系列随笔.如果可能的话再加上Emit系列.在这些系列中希望大家多关注,特别多多指教和交流.好了废话少说,今天就开始写CodeSmith模板.      CodeSmith是一个基于模板的代码生成器,它可以生成任何基于ASCII的编程语言代码.生成