答案 0 :(得分:3)
作为代码生成引擎,T4与CodeSmith或MyGeneration一样强大。它的主要优点是Visual Studio的紧密集成;主要缺点是可立即使用的模板数量较少。
我个人更喜欢T4 editor from Tangible,因为它适用于T4 Toolbox。
奥列格
答案 1 :(得分:2)
你到底想要做什么?我想这也取决于你试图生成代码的位置(模型)。
Codesmith和MyGeneration的优势在于,它们为您生成代码提供了多种选择 - 例如,在MyGeneration中,您可以用各种语言编写模板。
MyGeneration可以提供任何数据库和许多内置生成器脚本的元模型 - 因此,如果您想生成SP,最简单的方法是使用生成器进行MyGeneration - 您可以在那里找到CRUD SP的生成器。如果你想修改生成器,它还提供了一个相当不错的编辑器。
如果您正在构建DSL或其他东西(我的意思是,该模型来自其他地方),那么您可以考虑使用T4。但是,T4编辑并不是我做过的最简单的事情,因为在Visual Studio中没有T4编辑支持。您可以考虑购买Clarius T4编辑器以获得良好的编辑支持。
答案 2 :(得分:1)
提高效率的方法是使用内置的Visual Studio片段。
tab tab
比如输入if
并按Tab键两次将为您生成一个if语句,然后基本上你只需填写空白
try
和两个标签会生成try-catch块
等...
您可以使用完整的代码段列表。
答案 3 :(得分:0)
除了现在推荐的T4模板之外,还有另一种在VS中生成代码的方法 - MVC Scaffolding,它可以用于任何代码生成(不仅仅是ASP.NET MVC)。
它基于T4,但增加了一些有用的功能,如模板参数,与VS的集成(打开文档等),PowerShell脚本和多文件生成。