让Visual Studio 自动添加头部注释信息

        在日常的开发过程中我们经常需要为我们的类文件添加注释和版权等信息,以前都是将信息文本复制、粘贴,要是添加一两个个还好,要是添加很多就显得很麻烦了。为了减少这种重复性的工作,有没有好的解决办法呢?答案是肯定的,其实我们每次添加的文件都是按照类库模板自动生成的,所以只需要修改Visual Studio的类库模板就可以了。

        首先找到Visual Studio(2005、2008、2010) 的安装路径下\Common7\IDE\ItemTemplatesCache\CSharp\目录,面有好多目录,Windows Forms是开发Windows Forms程序的模版目录,Web是Web项目文件的模版目录,其他的同理。进入Web目录有选择2052目录(2052是中文地区的代号)下,会看到好多带有.zip的目录,比如要修改web页面的模版,就修改\WebForm.zip\Default.aspx.cs,打开Default.aspx.cs会看到如下内容。

using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ == 3.5)using System.Linq;
$endif$using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace $rootnamespace$
{
	public partial class $classname$ : System.Web.UI.Page
	{
		protected void Page_Load(object sender, EventArgs e)
		{

		}
	}
}

代码中的"$"符号之间的字符是模版的变量,具体变量含义请参照:

time$ 日期

$year$ 年份

$clrversion$ CLR版本

$GUID$ 用于替换项目文件中的项目 GUID 的 GUID。最多可以指定 10 个唯一的 GUID(例如,guid1))。

$itemname$ 用户在对话框中提供的名称。

$machinename$ 当前的计算机名称(例如,Computer01)。

$projectname$ 用户在对话框中提供的名称。

$registeredorganization$ HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 中的注册表项值。

$rootnamespace$ 当前项目的根命名空间。此参数用于替换正向项目中添加的项中的命名空间。

$safeitemname$ 用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格。

$safeprojectname$ 用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。

$time$ 以 DD/MM/YYYY 00:00:00 格式表示的当前时间。

$userdomain$ 当前的用户域。

$username$ 当前的用户名。


 

我的一个注释示例:

/************************************************************************
 * 项目名称 :  工作日志系统 
 * 项目描述 :     
 * 类 名 称 :  UserInfo   
 * 版 本 号 :  v1.0.0.0 
 * 说    明 :  用户信息管理类   
 * 作    者 :  灵雨飘零 
 * 创建时间 :  2011/12/15 13:19:28
 * 更新时间 :  2011/12/15 13:19:28
************************************************************************
 * Copyright @ 灵雨工作室 2011 . All rights reserved.
************************************************************************/

按照上面的实例设计模板:

/************************************************************************
 * 项目名称 :  $rootnamespace$  
 * 项目描述 :     
 * 类 名 称 :  $safeitemrootname$
 * 版 本 号 :  v1.0.0.0 
 * 说    明 :     
 * 作    者 :  $username$
 * 创建时间 :  $time$
 * 更新时间 :  $time$
************************************************************************
 * Copyright @ 灵雨工作室 $year$. All rights reserved.
************************************************************************/
 
using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ == 3.5)using System.Linq;
$endif$using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace $rootnamespace$
{
	public partial class $classname$ : System.Web.UI.Page
	{
		protected void Page_Load(object sender, EventArgs e)
		{

		}
	}
}


生成的文件:

/************************************************************************
 * 项目名称 :  工作日志系统  
 * 项目描述 :     
 * 类 名 称 :  Default2
 * 版 本 号 :  v1.0.0.0 
 * 说    明 :     
 * 作    者 :  灵雨飘零
 * 创建时间 :  2012-5-12 14:26:49
 * 更新时间 :  2012-5-12 14:26:49
************************************************************************
 * Copyright @ 灵雨工作室 2012. All rights reserved.
************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

 

修改其他的模板按照以上修改方法即可,此处不再详述。


 

posted @   灵雨飘零  阅读(8062)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示