我有以下任务:在 Visual Studio 中创建一个可视化编辑器(不是今天问题的核心),它会生成自定义格式的文本文件。然后,该文件将用作代码生成的输入,从而生成 C# 代码。为此,我一直在研究:
- T4
- Visual Studio 扩展
- Visual Studio 项目模板
- Visual Studio 项模板
我觉得解决方案就在某个地方,但我不太清楚如何最好地做到这一点。在我看来,主要问题是以某种方式自动为具有给定扩展名的所有文件生成代码。有谁知道有关如何执行此操作的任何教程或说明?
提前致谢!
最佳答案
要自动将代码生成器与给定扩展名的所有文件关联,您需要
- 创建 Visual Studio 包
- 实现自定义 IVsSingleFileGenerator 。最简单的选择是子类化 BaseTemplatedCodeGenerator并重写其GenerateCode方法以提供您自己的T4模板作为“inputFileContent”。
- 使用ProvideCodeGeneratorAttribute注册生成器。
- 使用ProvideCodeGeneratorExtensionAttribute将生成器与文件扩展名关联起来。
- 使用您的软件包和生成器创建 VSIX,并让您的用户安装它。
关于visual-studio - Visual Studio 中基于具有给定扩展名的所有文件生成代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15134198/