如何将自己的代码自动添加版权信息的及其扩展


                                     如何将自己的代码自动添加版权信息的及其扩展

      前一段时间我发表了一篇"如何将自己的代码自动添加版权信息"的随笔,园子里的兄弟都强烈的支持,希望我能讲解更多更详细的参数,下面我就这些参数以及添加版权信息做一下总结. 

参数

描述

clrversion

当前系统CLR版本号

GUID [1-10]

生成全局唯一标识符,可以生成10 (例如:guid1)

itemname

打开添加新建项时输入的文件名称

machinename

当前机器的名称(:pc1)

registeredorganization

注册的组织名

rootnamespace

命名空间名

safeitemname

保存的文件名

time

当前系统时间,格式:DD/MM/YYYY 00:00:00.

userdomain

用户所在的域

username

当前系统用户名

year

当前系统时间 YYYY.

上面提供了部分的参数(希望有人继续补充),已经经本人在VS2005下测试,可以通过.演示结果如下:
参数信息:
 1//======================================================================
 2//
 3//        Copyright (C) 2007-2008 三月软件工作室    
 4//        All rights reserved
 5//        guid1:  $guid1$
 6//        guid2:  $guid2$
 7//        guid3:  $guid3$
 8//        guid4:  $guid4$
 9//        guid5:  $guid5$
10//        CLR版本:            $clrversion$
11//        新建项输入的名称: $itemname$
12//        机器名称:            $machinename$
13//        注册组织名:         $registeredorganization$
14//        命名空间名称:      $rootnamespace$
15//        文件名:              $safeitemname$
16//        当前系统时间:      $time$
17//        用户所在的域:      $userdomain$
18//        当前登录用户名:   $username$
19//        创建年份:           $year$
20//
21//        created by 侯垒 at  $time$
22//        http://houleixx.cnblogs.com
23//
24//======================================================================
25
添加后的效果:(具体怎样添加参考"如何将自己的代码自动添加版权信息")
//======================================================================
//
//        Copyright (C) 2007-2008 三月软件工作室    
//        All rights reserved
//        guid1:  0a3c2c25-ce8f-4e8d-9a02-291bacb5d278
//        guid2:  b50a2fd2-7a9c-4af0-8a8a-26e2f2c5c770
//        guid3:  4186fb52-22ef-4be7-bec4-388b1e479624
//        guid4:  8f76ffc6-206b-480e-a5b1-c95e02f0d630
//        guid5:  5266c864-2d1e-400a-bf98-5fc687e6c889
//        CLR版本:          2.0.50727.42
//        新建项输入的名称: test
//        机器名称:         PC5
//        注册组织名:       houlei
//        命名空间名称:     ConsoleApplication1
//        文件名:           test
//        当前系统时间:     03/29/2008 11:06:58
//        用户所在的域:     houlei
//        当前登录用户名:   Administrator
//        创建年份:         2008
//
//        created by 侯垒 at  03/29/2008 11:06:58
//        http://houleixx.cnblogs.com
//
//======================================================================

这些信息可以自己创建根据自己需要来定义.
我就对模板的修改再做一下总结:
1.我上次提到修改ItemTemplatesCache里面的模板,它只是修改缓存的模板,执行devenv /setup 重新配置VS,这些模板会自动变回原来的模板.我们的这些模板信息就会丢失.
2.对于这种模板丢失的现象,我们可以直接修改ItemTemplates中的模板,ItemTemplates里面是一些压缩的模板并且是只读的,我们可以尽管修改.对于缓存的模板在每执行devenv /setup 重新配置VS的时候也是从ItemTemplates中解压出来的.这样在重新配置VS的时候就不会出现丢失现象了.
3.以上的方法存在一个弊端就是我们破坏了系统的那些模板信息,这些系统模板在某个时候我们还可能用到.下面就有一种更好的方法来解决上述问题.
也就是说有没有一种方法在我们添加新项的时候供我们选择一下,我们可以在系统模板和自己定义的模板之间作出选择.请看下文.
我们把那些在Common7\IDE\ItemTemplates\CSharp\2052下面的压缩文件复制到C:\Documents and Settings\用户名\My Documents\Visual Studio 2005\Templates\ItemTemplates\Visual C#(或者是web版)中去,再对其进行修改.当我们再添加新项的时候,那些模板就出现在"我的模板"下面了. 如果在另外一台机器上写代码,只需要把这些模板放到用户自己的文件夹就可以了,也很方便携带.(这种方法由Vincent Yang提供)


从我上篇文章的评论中可以看出还有很好很好的方法,在这就不再一一举出.可以自己在如何将自己的代码自动添加版权信息的评论中寻找.找出自己喜欢的添加方式.

对版权信息的一些反思:
我们不仅可以得用这种方法来添加版权信息,还可以添加一些项目中统一的规范,如命名空间之类的.可以节省很多的代码量,同时节省时间.
  

posted @ 2008-03-29 11:46  侯垒  阅读(5774)  评论(29编辑  收藏  举报
Powered by: holly