zoukankan      html  css  js  c++  java
  • 创建项模板模板参数

    所有模板都支持在对模板进行实例化时进行参数替换,以替换关键参数,如类名和命名空间。当用户在“新建项目”和“添加新项”对话框中单击“确定”时,这些参数将由后台运行的模板向导替换。

    声明和启用模板参数

    模板参数以 $parameter$ 格式进行声明。例如:

    • $safeprojectname$

    • $safeclassname$

    • $guid1$

    • $guid5$

    启用模板中的参数替换

    1. 在模板的 .vstemplate 文件中,定位到与要为其启用参数替换的项对应的 ProjectItem 元素。

    2. ProjectItem 元素的 ReplaceParameters 属性设置为 true

    3. 在项目项的代码文件中,在代码中合适的位置包括参数。例如,下面的参数指定用于文件中的命名空间的安全项目名称:

      namespace $safeprojectname$

    保留的模板参数

    下表列出了可供所有模板使用的保留的模板参数。

    Note注意

    模板参数区分大小写。

    参数 说明

    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 格式表示的当前年份。

    自定义模板参数

    除了在参数替换过程中自动使用的保留模板参数外,还可以指定您自己的模板参数和值。有关更多信息,请参见如何:向模板传递自定义参数

    示例:替换文件名

    可以使用具有 TargetFileName 属性的参数为项目项指定变量文件名。例如,可以指定 .exe 文件使用 $projectname$ 所指定的项目名称作为文件名。

    <TemplateContent>
    <ProjectItem
    ReplaceParameters="true"
    TargetFileName="$projectname$.exe">
    File1.exe
    </ProjectItem>
    ...
    </TemplateContent>

    示例:使用项目名称作为命名空间名称

    若要将项目名称用于 Visual C# 类文件 Class1.cs 中的命名空间,请使用下面的语法:

    #region Using directives
    using System;
    using System.Collections.Generic;
    using System.Text;
    #endregion
    namespace $safeprojectname$
    {
    public class Class1
    {
    public Class1()
    {
    }
    }
    }

    在项目模板的 .vstemplate 文件中,在引用 Class1.cs 文件时请包括以下 XML:

    <TemplateContent>
    <ProjectItem ReplaceParameters="true">
    Class1.cs
    </ProjectItem>
    ...
    </TemplateContent>
  • 相关阅读:
    Linux 文件管理篇(一 档案读写)
    Linux 任务管理篇(一)
    Mysql 视图简介
    MySql 使用正则表达式查询
    mysql 插入、更新与删除数据
    mysql 多表查询
    mysql 单表查询
    Java抽象类与接口
    maven小结
    shiro 进行权限管理 —— 使用BigInteger进行权限计算获取菜单
  • 原文地址:https://www.cnblogs.com/si812cn/p/1350892.html
Copyright © 2011-2022 走看看