代码生成器(.net)

时间:2008-12-13 13:18:09

标签: .net code-generation t4 codesmith

您对T4T4 Editor有什么经验吗?您能将它与CodeSmithMyGeneration进行比较吗?

您使用哪些代码生成器?你推荐什么?

我想将它用于SP的生成。你还发现代码生成有用吗?

4 个答案:

答案 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脚本和多文件生成。