代码改变世界

【转】Visual Studio 2008 自定义项目模板

2012-03-02 14:37  cnb_mtime  阅读(280)  评论(0编辑  收藏  举报

[转]

周末闲来没事就琢磨了一下在VS2008里面添加项目功能。在每个文件上加上一些必要的版权信息对任何一个程序员或者团队开发多是必要的。直接在网上找了找。基本多是说默认模板文件位于  [InstallDirectory]:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\Web\CSharp\1033。【说明: [InstallDirectory]:就是VS2008的安装盘符。1033表示英语。2052表示中文。】这里面是一大堆.zip文件,我们把需要的文件Class.zip。解压后修改Class.cs,在头部加上
/* ***********************************************
 * author :  $username$
 * email  :  freesquare@gmail.com 
 * function: 
 * history:  created by $username$ $time$ 
 * ***********************************************/
修改好后打包回去覆盖原来的Class.zip,然后在visual studuo的命运行下运行 devenv /setup 就可以使用了。

我试了好几回其实多没有成功。原来直接在[InstallDirectory]:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Web\1033这个文件夹下面改就好了。上面说的一大堆.zip文件多解压在这里了。这样我们直接更改[InstallDirectory]:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Web\1033\WebClass.zip 里面的Class.cs文件。

/******************************************************
* author :  $username$
* email  :  freesquare@gmail.com 
* function: 
* history:  created by $username$ $time$ 
* clrversion :$clrversion$
******************************************************/

成功!

下面随便把系统变量列一下

在模板中我们可以使用“保留的模板参数”,亦可以使用自定义模板参数。
保留的模板参数有如下13个,其中GUID又可以变化出十个参数(模板参数区分大小写):
    clrversion  公共语言运行库 (CLR) 的当前版本。 
    GUID [1-10]  用于替换项目文件中的项目 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  当前的用户名。 
    year  以 YYYY 格式表示的当前年份。 
自定义模板参数:
    下面的示例演示如何在一个模板中使用多个自定义参数。如果项目或项是使用下面的自定义参数从某个模板创建而成,则将模板文件中 $color1$ 和 $color2$ 的所有实例分别替换为 Red 和 Blue。
    <CustomParameters>
        <CustomParameter Name="$color1$" Value="Red"/>
        <CustomParameter Name="$color2$" Value="Blue "/>
    </CustomParameters>

3.其它可用的参数:
    在.cs页面使用的模板参数:
    namespace $safeprojectname$
    public partial class $classname$ 或者
    public partial class $safeitemrootname$
    在.aspx页面使用的模板参数:
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="$fileinputname$.aspx.cs" Inherits="$rootnamespace$.$classname$" CodePage="936"%>
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InfoEdit.aspx.cs" Inherits="Examples.TableOp.InfoEdit" CodePage="936"%>
    在.vstemplate中使用的模板参数:
    <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.$fileinputextension$">Default.aspx</ProjectItem>