VS自定义模板-以自定义类模板为样例

前言

在实际的工作过程中部分公司会要求开发人员在开发过程中需遵守一些开发规范,开发规范中主要包括文件的注释规范,项目、文件、变量的命名规范(例如驼峰规范)等等。例如我们代码规范中就有一项新增文件的文件注释,注释内容包括公司版权声明、文件名称、文件功能描述、创建时间、创建人等。注释内容较多,每次复制粘贴起来比较麻烦和耗时间。于是考虑能不能固化这部分内容,每次只修改小部分差异化内容。自然就想到了模板这个概念,果然微软在设计VS编译器时就考虑到这个问题,下面直接上具体操作和实际效果。

上手操作

  • 定位软件安装位置  


    建议使用右键软件快捷方式,打开文件所在位置的形式。例如我这里是
  • 定位模板存储位置


    模板存储位置可以参考我的,不用版本VS相对路径是一样的,在2008和2013两个版本中比较过。在“Common7IDEItemTemplatesCacheCSharpCode2052”
  • 找到具体需要修改的模板


    Class文件夹下面的就是类文件模板
  • 修改模板内容

    /*----------------------------------------------------------------
    // Copyright © 2019 FreeLoopPowter.All rights reserved. 
    // 文件名称:	门诊医嘱模板选择控件
    // 文件功能描述:	门诊医嘱模板选择控件
    // 设计要求:	实现门诊处方模板, 查找选择功能
    //
    // CLR版本:	$clrversion$
    // 类 名 称:    $itemname$
    // 机器名称:    $machinename$
    // 命名空间:    $rootnamespace$
    // 文 件 名:    $safeitemname$
    // 创建者:      FreeLoopPowter
    // 创建日期:	$time$
    // 修改记录:
    // log1: 修改者:
    // 修改日期:
    // 修改内容:
    // log2: 修改者:
    // 修改日期:
    // 修改内容:
    //----------------------------------------------------------------*/
    using System;
    using System.Collections.Generic;
    $if$ ($targetframeworkversion$ == 3.5)using System.Linq;
    $endif$using System.Text;
    
    namespace $rootnamespace$
    {
    	/// <summary>
    	/// 对象名称: 门诊医嘱模板选择控件
    	/// 对象内容: 门诊医嘱模板选择控件
    	/// 创建者:   FreeLoopPowter
    	/// 创建日期: $time$
    	/// 修改者:
    	/// 修改日期:
    	/// </summary>
    	public class $safeitemrootname$
    	{
    	}
    }
    
    这是我根据公司代码规范的内容然后增加CLR版本、命名空间、机器名称等自定义内容修改后的模板内容。各人可根据实际需求进行修改,这里附上一张模板参数列表的照片。
    模板参数列表​ 模板参数列表
  • 重启软件

  • 打开软件


    在项目中新增类文件即可看到效果,如下所示:
    /*----------------------------------------------------------------
    // Copyright © 2019 FreeLoopPowter.All rights reserved. 
    // 文件名称:	类文件模板演示类
    // 文件功能描述:	类文件模板演示类
    // 设计要求:	演示类文件模板效果
    //
    // CLR版本:	4.0.30319.42000
    // 类 名 称:    Class1
    // 机器名称:    DESKTOP-70OTVC2
    // 命名空间:    BarCodeAndQRCode
    // 文 件 名:    Class1
    // 创建者:	FreeLoopPowter
    // 创建日期:	2019/7/7 11:55:44
    // 修改记录:
    // log1: 修改者:
    // 修改日期:
    // 修改内容:
    // log2: 修改者:
    // 修改日期:
    // 修改内容:
    //----------------------------------------------------------------*/
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace BarCodeAndQRCode
    {
        /// <summary>
        /// 对象名称: 类文件模板演示类
        /// 对象内容: 类文件模板演示类
        /// 创建者:   FreeLoopPowter
        /// 创建日期: 2019/7/7 11:55:44
        /// 修改者:
        /// 修改日期:
        /// </summary>
        public class Class1
        {
        }
    }
    

    勤于实践、乐于记录,热爱分享。

原文地址:https://www.cnblogs.com/FreeLoopPowter/p/15166109.html