c# - 为 Visual Studio 创建代码生成器插件

标签 c# visual-studio-2013 code-generation

<分区>

所以我知道这可能看起来是一个奇怪的问题,但我真的找不到任何相关信息(也许我在搜索错误的东西)

我有一些我在 visual studio 中创建的代码片段。这些片段效果很好,但我想做的是构建某种代码生成器插件,它将根据多个输入在项目中创建 .CS 文件。

它与 C# 中的 Selenium 一起使用,以从本质上构建页面对象模型。因此,例如,用户可以从下拉列表中选择并反对他们想要添加到页面的内容,然后单击添加,它会将其添加到 C# 代码中。

我可以为此创建一个插件吗?如果可以,最好在哪里阅读有关如何执行此操作的最佳位置,任何有用的教程和文章都会有所帮助。

如有任何帮助,我们将不胜感激。

最佳答案

您的问题与寻求教程无关,但是有两种方法可以满足您的需求。

COM based pluginsT4 code template generators .

COM 插件类型适用于您希望在您编写的所有项目中反复使用的代码生成器。它们可能更“容易”编写,因为您只是在编写 C# 代码,但插件必须“安装”到 visual studio 中,如果您将项目交给其他人,插件不会随项目一起移动。收件人还需要“安装”您的插件才能在他的机器上编译。

T4 样式允许您在项目中编写代码生成代码,但语法很奇怪,它与 ASP.NET .cshtml 页面的生成方式非常相似,您只是生成可兼容的代码而不是网页。 visual studio 内置的 T4 模板编辑器不是很好,我认为它甚至没有代码高亮显示功能,但是您可以获得 visual studio 的插件,可以为 T4 编辑器添加更多功能。我用过this one in the past ,但如果您不使用付费版本,很多功能将受到限制。还有其他fully free ones在那里。

关于c# - 为 Visual Studio 创建代码生成器插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385418/

相关文章:

java - 从java程序动态生成java类

c# - 使用C#创建MS-DOS txt文件使用什么编码(UTF8Encoding vs Encoding)

c# - ASPxGridView 每页行数

c# - 将 Windows 窗体复制到新的 visual Studio 2013 解决方案

visual-studio-2012 - 是否可以在 Visual Studio 数据库项目中创建计算列?

c# - Visual Studio 2013 编码的 UI 测试

spring - Spring 框架中的 CGLIB 是什么?

c# - Base32解码

c# - Azure Blob 存储 - 如何在查询之前考虑 Blob 上传时间延迟?

gradle - 使用jOOQ和Gradle生成代码时出现“Ambiguous type name”错误