5

我想创建一个使用任意PowerShell逻辑的自定义脚手架。它可以渲染T4 模板(如果需要,可以渲染多个模板),并输出结果:

  • 作为项目中的新文件
  • 作为插入现有类的新代码块
  • 我的 PowerShell 逻辑可以使用Visual Studio的“代码模型”API 以其他任意方式操作文件和代码元素。

如何使用 PowerShell 自定义 T4 脚手架?

4

1 回答 1

5

来自http://blog.stevensanderson.com/2011/04/07/mvcscaffolding-creating-custom-scaffolders/

在 Visual Studio 的包管理器控制台中执行以下命令:

Scaffold CustomScaffolder ClassName

这会将 CodeTemplates 文件夹添加到您的项目中,其中包含新脚手架的文件。

如您所见,我们有两个文件:

  • 一个 PowerShell 脚本 (.ps1),我们可以在其中放置任意逻辑来决定渲染哪些模板以及输出到哪里。默认情况下,它会呈现一个 T4 模板并使用输出在项目的根目录中创建一个名为 ExampleOutput 的新文件。
  • T4 模板 (.t4),即默认 .ps1 文件呈现的内容。默认情况下,这会生成一个简单的 C#/VB 类(取决于您的项目类型)。如果你想看到这个工作,你可以立即运行自定义脚手架:

    Scaffold ClassName

这将在项目的根文件夹中生成一个新的类文件 ExampleOutput.cs。这实际上只是为了向您展示它是如何工作的。我们真的不想要那个,所以不要运行新的脚手架,或者如果你已经这样做了,删除 ExampleOutput.cs

于 2012-11-19T14:02:06.387 回答