关于Visual Studio 20**自动添加头部注释信息

作为一个万年潜水党,不管这一篇文章技术含量如何,也算是一个好的开始吧。
 
在日常的开发中我们经常需要为类库添加注释和版权等信息,这样我们就需要每次去拷贝粘贴同样的文字,为了减少这种重复性的工作,我们可以把这些信息保存在Visual Studio 20**类库模版文件里。
 
首先找到Visual Studio 20**的安装路径下Common7IDEItemTemplatesCacheCSharp目录
Windows Forms是开发Windows Forms程序的模版目录,Code是类库项目文件的模版目录,其他的同理。进入Code目录有选择2052目录下,会看到多个带有.zip的目录,比如我要修改类文件模版,就修改Class.zipClass.cs,打开Class.cs会看到如下内容。
 
快速定位vs安装目录↓
vs2010:%ProgramFiles%Microsoft Visual Studio 10.0Common7IDEItemTemplatesCacheCSharp
vs2008:%ProgramFiles%Microsoft Visual Studio 9.0Common7IDEItemTemplatesCacheCSharp
vs2005:%ProgramFiles%Microsoft Visual Studio 8Common7IDEItemTemplatesCacheCSharp
 
copy到地址栏回车即可,方便快捷。(vs2010的我已经测试过了,可以使用,其他的应该也没问题)
 
Class.cs 模版源文件内容

using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
 
namespace $rootnamespace$
{
 class $safeitemrootname$
 {
 }
}

代码中的"$"符号之间的字符是模版的变量,具体变量含义请参照:
 
$time$         日期
$year$         年份
$clrversion$     CLR版本
$GUID$   用于替换项目文件中的项目 GUID 的 GUID。最多可以指定 10 个唯一的 GUID(例如,guid1))。
$itemname$  用户在对话框中提供的名称。
$machinename$    当前的计算机名称(例如,Computer01)。
$projectname$   用户在对话框中提供的名称。
$rootnamespace$  当前项目的根命名空间。此参数用于替换正向项目中添加的项中的命名空间。
$safeitemname$  用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格。
$safeprojectname$  用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。
$time$    以 DD/MM/YYYY 00:00:00 格式表示的当前时间。
$userdomain$  当前的用户域。
$username$  当前的用户名。
等等...
 

模版更新后内容:

#region 描述
//-----------------------------------------------------------------------------
// 文 件 名: $safeitemrootname$
// 作    者:[author name]
// 创建时间:$time$
// 描    述:
// 版    本:
//-----------------------------------------------------------------------------
// 历史更新纪录
//-----------------------------------------------------------------------------
// 版    本:           修改时间:           修改人:          
// 修改内容:
//-----------------------------------------------------------------------------
// Copyright (C) 20013-$year$ 某某公司
//-----------------------------------------------------------------------------
#endregion
using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
 
namespace $rootnamespace$
{
 class $safeitemrootname$
 {
 }
}

 

如需修改其他模版就按照上面的步骤找到对应的文件夹即可。
 
以上模版中注释样式可以根据需要对其进行修改。
 
补充:
   上面提到的2052目录:是国家/地区语言代码的十进制,中国地区代码为2052。