前言

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

上手操作

  • 定位软件安装位置


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


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


    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
    {
    }
    }

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

VS自定义模板-以自定义类模板为样例的更多相关文章

  1. 【C++】模板简述(三):类模板

    上文简述了C++模板中的函数模板的格式.实例.形参.重载.特化及参数推演,本文主要介绍类模板. 一.类模板格式 类模板也是C++中模板的一种,其格式如下: template<class 形参名1 ...

  2. C++ 类模板一(类模板的定义)

    //类模版语法 #include<iostream> using namespace std; /* 类模板和函数模板深入理解 1.编译器并不是把函数模板处理成能处理任何类型的函数 2.编 ...

  3. C++入门经典-例9.3-类模板,简单类模板

    1:使用template关键字不但可以定义函数模板,而且可以定义类模板.类模板代表一族类,它是用来描述通用数据类型或处理方法的机制,它使类中的一些数据成员和成员函数的参数或返回值可以取任意数据类型.类 ...

  4. C++练习 | 单向链表类模板(包含类模板中静态变量初始化格式)

    #include <iostream> #include <string> using namespace std; template <class T> clas ...

  5. UML类图图示样例

    下图来自<大话设计模式>一书:

  6. c++中的类(class)-----笔记(类模板)

    1,一个模板类至少具有一个类参数,类参数是个符号以表示将要被某个确定数据类型代替的类型. #include<iostream> #include<string> using n ...

  7. C++类模板的三种特化

    说起C++的模板及模板特化, 相信很多人都很熟悉 ,但是说到模板特化的几种类型,相信了解的人就不是很多.我这里归纳了针对一个模板参数的类模板特化的几种类型, 一是特化为绝对类型: 二是特化为引用,指针 ...

  8. C++——模板、数组类

    1.函数模板:可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计. 声明方法:template<typename 标识符> 函数声明 求绝对值的模板 #in ...

  9. C++学习笔记:09 函数模板与类模板

    课程<C++语言程序设计进阶>清华大学 郑莉老师) 引入 考虑一个求绝对值函数myabs,对于int,double,float等数据类型需要重载多次,编写多个函数体.函数体逻辑代码完全一致 ...

  10. C++进阶-1-模板基础(函数模板、类模板)

    C++进阶 模板 1.1 函数模板 1 #include<iostream> 2 using namespace std; 3 4 // 模板 5 6 // 模板的简单实例 7 // 要求 ...

随机推荐

  1. 用CSS实现横向滚动条

    在进行app制作时,需要使用横向滚动条是内容展示更完善 首先,这是html代码: 这是CSS代码: 要点: 设置显示内容的宽 white-space是防止内容自动折行 overflow-y设置为hid ...

  2. Ubuntu 获取 root 用户权限并以 root权限登录

    操作步骤: 1.打开终端,使用 sudo passwd root 命令进行 Ubuntu 中密码的重置        2.切换到 /usr/share/lightdm/lightdm.conf.d 目 ...

  3. 记一次阿里云LVM扩容与 LVM 相关知识学习

    一.lvm 扩容 问题: 我们阿里云服务器有一个磁盘容量为 1T ,但是最近由于业务的扩增,磁盘容量已经不够了,需要增大磁盘的容量.磁盘挂载在 /home,使用的是 LVM.我们现在需要对磁盘进行扩容 ...

  4. Git详解之其他系统结合

    前言 世界不是完美的.大多数时候,将所有接触到的项目全部转向 Git 是不可能的.有时我们不得不为某个项目使用其他的版本控制系统(VCS, Version Control System ),其中比较常 ...

  5. SpringBoot高级篇Ⅸ --- 热部署与监控管理

    一.热部署 在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,我们不希望重启应用的情况下,程序可以自动部署(热部署). 1.1 模板引擎 在SpringBoot中开发情况 ...

  6. C# 定时器导致的内存泄露问题

    C# 中有三种定时器,System.Windows.Forms 中的定时器和 System.Timers.Timer 的工作方式是完全一样的,所以,这里我们仅讨论 System.Timers.Time ...

  7. Linux防火墙之iptables基本匹配条件和隐式扩展匹配条件

    一.iptables的基本匹配条件 上一篇博文我们说到了iptables的基本工作原理.数据报文在内核的走向和管理链.管理规则.以及查看规则.导入和导出规则:回顾请参考https://www.cnbl ...

  8. 红帽(RedHat8) RHEL8.0系统安装教程(小白都会)

    可以去了解一下Red Hat8产品详情:https://www.RedHat.com/zh/enterprise-linux-8 先准备VMware Workstation 15 Pro版本,Red ...

  9. Windows下查看dll被哪个进程调用

    卸载程序,结果没卸载干净---程序的安装目录中还剩下一个dll文件.想删,结果系统提示说dll文件被某个进程占用了,不让删. 先前碰到这种做法,我都是直接使用unlocker先unlock一下,然后删 ...

  10. supervisor管理tomcat

    操作目的:用supervisor工具管理tomcat服务 配置环境,安装服务,以及多实例 脚本编辑: 前提 机器的opt目录下必须有jdk-8u131-linux-x64_.rpm 以及apache- ...