【问题标题】:How do you create a simple comment header template for all new classes in Visual C++ 2010?如何为 Visual C++ 2010 中的所有新类创建一个简单的注释标题模板?
【发布时间】:2011-01-20 07:17:42
【问题描述】:

这可能是重复的,但到目前为止我还没有找到任何答案。我的公司通过了一项决议,即所有文件都需要有一个样板注释标题,其中包括文件名和版权日期。我希望有一种简单的方法来创建一个标题模板,该模板添加到添加到项目中的每个新类(.cpp 和 .h 文件)的顶部,其中有几个变量会根据日期替换,文件名等

不幸的是,这似乎是一项看起来应该是更大的任务。我调查了Manipulating Code using the Visual C++ Code ModelManually Creating an Item Template,似乎无法让他们中的任何一个人做我想做的事。

抱歉,这听起来像是“为我做我的工作”的帖子,但对我来说,这不值得花那么多时间。如果要花一天时间来弄清楚扩展 Visual Studio 的细微之处,我可以手动添加和编辑每个新文件的标题,因为它不经常这样做。有没有比我看到的更简单的方法,或者有一个简单的例子说明如何将这些方法用于我的目的?

【问题讨论】:

  • 手动操作即可。或者,最好在文本编辑器中使用宏。或者使用 Unix 命令外壳。或者脚本语言。但是不用担心在 VS 中自动化它。
  • @jmucchiello,例如Xcode 会自动完成,如果您不必再考虑太多,它会相当方便。
  • 我的观点是,任何你不必考虑太多的东西可能一开始就不需要。样板代码 cmets 就是这样。
  • 那么你不喜欢RAII和其他降低出错概率的模式吗? ;)

标签: c++ visual-studio templates


【解决方案1】:

这可能不会让你比你已经得到的更进一步,但西蒙很接近,你可以按照他建议的方式创建 C++ 文件模板,但 C++ 模板的路径是 C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcprojectitems(请注意,在 32 位机器上它只是 Program Files)。

如果您编辑文件 NewC++File.cpp,下次您将新的 C++ 文件添加到项目中时,将使用您的模板。或者,您可以在此文件夹中创建自己的文件,它们将出现在“添加新项目”对话框中。

这不会解决您在标题中插入当前日期的问题(假设您希望自动确定该日期),但您可以每年更新一次您使用的模板,这样会稍微少一些家务活。

HTH

【讨论】:

    【解决方案2】:

    更新:很遗憾,C++ 模板的工作方式不同。

    我将下面的文字留作参考,以供任何发现此内容的人参考,但它仅适用于 C#/VB。


    您绝对可以为 C# 编辑类模板(我们这样做的原因与您完全相同 - 包括一个标准头文件),我认为您也可以为 C++ 这样做。

    查看这两个目录:

    “C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\”
    "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\"

    每个目录中的某个地方都有一个类模板文件夹。对于 C#,它位于此处的 zip 文件中:

    ...\ItemTemplates\CSharp\Code\1033\Class.zip

    提取 zip,编辑模板以包含您的标题并重新压缩它。然后,您还需要在 ItemTemplatesCache 文件夹下放置一个解压缩的副本,(遵循相同的路径 - ...\ItemTemplatesCache\CSharp\Code\1033\Class)

    还有更多详情here

    (抱歉,我现在在我的 Linux PC 上,所以我无法检查 C++ 是否存在这些路径。如果你让它工作,请在此处发布正确的 C++ 路径,我会将这个答案更新为参考他们)

    【讨论】:

    • 不幸的是,C++ 模板的组织方式似乎不同。只有单元测试模板出现在这两个目录中。
    • @bsruth。这很奇怪。我现在已经检查了自己,您确实是对的,C++ 的路径不存在。抱歉,在这种情况下我不知道该怎么做。
    【解决方案3】:

    您要查找的内容称为:代码片段

    我个人使用 VAssistX 中提供的 sn-ps,但它是一个共享软件,因此对于贵公司而言,它可能不是一个好的解决方案。 顺便说一句,如果你在没有 VAssistX 的情况下在 Visual C++ 上开发应用程序,你会浪费很多时间;)

    Visual Studio 中还有一个代码 sn-ps 管理器,我从未使用过,但我在 google 上找到了一些文档:

    http://msdn.microsoft.com/en-us/library/d60kx75h(VS.80).aspx

    http://blogs.microsoft.co.il/blogs/gilf/archive/2009/01/17/how-to-write-your-own-code-snippets.aspx

    希望对你有帮助。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多