【发布时间】:2012-11-09 16:25:16
【问题描述】:
我正在寻找一种方法来快速、定期地将我的签名和日期添加到 Visual Studio 中新代码文件的顶部。
有一些关于使用宏来做到这一点的教程,但显然 VS2012 不再支持宏。
我可以将header定义为代码sn-p并插入sn-p,但是sn-ps不支持获取当前日期。
我可以使用以下 T4 模板生成正确的文本:
<#@ template debug="false" hostspecific="false" language="C#" #>
// <author>Pieter Müller</author>
// <date><#=DateTime.Now.ToString("yyyy-MM-dd")#></date>
<#@ output extension=".cs" #>
这给了我以下完美的结果:
// <author>Pieter Müller</author>
// <date>2012-10-30</date>
问题是,有没有办法让我快速、定期地将这段代码插入到新的代码文件中,无论是自动还是手动使用类似于Insert Snippet 的东西或快捷键? p>
如果您没有答案,但您对生成我需要的签名标头确实有一个好主意,请发表评论。谢谢!
【问题讨论】:
-
我不会使用代码 sn-ps/T4 执行此操作,而是查看在构建之前调用的 MSBuild 任务/目标,并相应地自动更新文件。应该不难做,不需要手工。
-
我不知道这是否会有所帮助,但看起来它可能有一些潜力。这是我在这里想到的预处理文本模板:stackoverflow.com/questions/9149263/t4-output-to-string
-
谢谢@Pawel。构建任务当然可以,但缺点是如果您不想将标头应用于所有文件,则必须小心。也许一个解决方案是在每个代码文件的顶部插入一个标签,然后将 MSBuild 设置为运行脚本预构建,在找到标签的任何地方注入标题。
-
谢谢@U1199880。预处理模板的问题是您仍然无法将文本插入到您想要的确切位置(与 sn-ps 一样)。但是,您的链接帮助我想出了解决方案。
标签: visual-studio t4 code-snippets