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


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

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

    1. using System;  
    2. using System.Collections.Generic;  
    3. $if$ ($targetframeworkversion$ == 3.5)using System.Linq;  
    4. $endif$using System.Web;  
    5. using System.Web.UI;  
    6. using System.Web.UI.WebControls;  
    7. namespace $rootnamespace$  
    8. {  
    9. public partial class $classname$ : System.Web.UI.Page  
    10.     {  
    11. protected void Page_Load(object sender, EventArgs e)  
    12.         {  
    13.         }  
    14.     }  

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

    1. <strong>time$ 日期  
    2. $year$ 年份  
    3. $clrversion$ CLR版本  
    4. $GUID$ 用于替换项目文件中的项目 GUID 的 GUID。最多可以指定 10 个唯一的 GUID(例如,guid1))。  
    5. $itemname$ 用户在对话框中提供的名称。  
    6. $machinename$ 当前的计算机名称(例如,Computer01)。  
    7. $projectname$ 用户在对话框中提供的名称。  
    8. $registeredorganization$ HKLMSoftwareMicrosoftWindows NTCurrentVersionRegisteredOrganization 中的注册表项值。  
    9. $rootnamespace$ 当前项目的根命名空间。此参数用于替换正向项目中添加的项中的命名空间。  
    10. $safeitemname$ 用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格。  
    11. $safeprojectname$ 用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。  
    12. $time$ 以 DD/MM/YYYY 00:00:00 格式表示的当前时间。  
    13. $userdomain$ 当前的用户域。  
    14. $username$ 当前的用户名。  
    15. </strong>

    我的一个注释示例:

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

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

    1. /************************************************************************
    2. * 项目名称 :  $rootnamespace$  
    3. * 项目描述 :     
    4. * 类 名 称 :  $safeitemrootname$
    5. * 版 本 号 :  v1.0.0.0 
    6. * 说    明 :     
    7. * 作    者 :  $username$
    8. * 创建时间 :  $time$
    9. * 更新时间 :  $time$
    10. ************************************************************************
    11. * Copyright @ 灵雨工作室 $year$. All rights reserved.
    12. ************************************************************************/
    1. <pre class="csharp" name="code">using System;  
    2. using System.Collections.Generic;  
    3. $if$ ($targetframeworkversion$ == 3.5)using System.Linq;  
    4. $endif$using System.Web;  
    5. using System.Web.UI;  
    6. using System.Web.UI.WebControls;  
    7. namespace $rootnamespace$  
    8. {  
    9. public partial class $classname$ : System.Web.UI.Page  
    10.     {  
    11. protected void Page_Load(object sender, EventArgs e)  
    12.         {  
    13.         }  
    14.     }  
    15. }  
    16. </pre>  
    17. <pre></pre>  
    18. <p><br>  
    19. 生成的文件:<br>  
    20. </p>  
    21. <pre class="csharp" name="code">/************************************************************************
    22. * 项目名称 :  工作日志系统  
    23. * 项目描述 :     
    24. * 类 名 称 :  Default2
    25. * 版 本 号 :  v1.0.0.0 
    26. * 说    明 :     
    27. * 作    者 :  灵雨飘零
    28. * 创建时间 :  2012-5-12 14:26:49
    29. * 更新时间 :  2012-5-12 14:26:49
    30. ************************************************************************
    31. * Copyright @ 灵雨工作室 2012. All rights reserved.
    32. ************************************************************************/
    33. using System;  
    34. using System.Collections.Generic;  
    35. using System.Linq;  
    36. using System.Web;  
    37. using System.Web.UI;  
    38. using System.Web.UI.WebControls;  
    39. public partial class Default2 : System.Web.UI.Page  
    40. {  
    41. protected void Page_Load(object sender, EventArgs e)  
    42.     {  
    43.     }  
    44. }  
    45. </pre>  
    46. <p> </p>  
    47. <p>修改其他的模板按照以上修改方法即可,此处不再详述。</p>  
    48. <p><br>  
    49. </p> 
  • 相关阅读:
    Java单链表的实现
    leetcode2
    Spring容器中Bean的生命周期
    my-leetcode
    Map及HashMap原理简述
    网站搭建:服务器+域名+备案
    浅谈X-UA-Compatible&viewport
    Hexo框架搭建个人博客
    Redis安装教程
    MySQL安装教程 --- 解压版
  • 原文地址:https://www.cnblogs.com/hornet/p/4134838.html
Copyright © 2020-2023  润新知