前言

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

    开发工具篇:Git和Github Git是什么? Git是目前世界上最先进的分布式版本控制系统.工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repositor ...

  2. 线段树+Lazy标记(我的模版)

    #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ...

  3. centos7中修改运行级别

    centos6 在centos6里打开vim /etc/inittab文件看到下面有一行 id:5:initdefault,因此我们可以通过修改这个文件的id后的数字来修改运行级别 如果我们想要直接切 ...

  4. day05【数组】

    day05[数组] 1.数组 概念:是一种容器,可以同时存放多个数据. 特点: 数组是一种引用数据类型 数组当中的多个数据,类型必须统一 数组的长度在程序的运行期间不可改变 初始化:在内存当中创建一个 ...

  5. 白话 spring AOP

    ------------------------------------ 剩下的时间不多了,抓经做自己想做的吧 AOP: 专业术语叫做面向切面的编程 为什么要使用aop: 为了简化代码, 将相同代码抽 ...

  6. UNIX 版本

    一般UNIX系统都来源于AT&T公司的System V UNIX系统,BSD UNIX或其他类UNIX系统. System V UNIX:当今市场上大多数主要的商业UNIX系统都是基于AT&a ...

  7. springboot整合elasticJob实战(纯代码开发三种任务类型用法)以及分片系统,事件追踪详解

    一 springboot整合 介绍就不多说了,只有这个框架是当当网开源的,支持分布式调度,分布式系统中非常合适(两个服务同时跑不会重复,并且可灵活配置分开分批处理数据,贼方便)! 这里主要还是用到zo ...

  8. SSH(一)

    系统程序架构:    整合思路        1.逆依赖方向而行,由Spring提供对象管理和服务        2.依次实现Spring与Hibernate.Spring与Struts2的集成 配置 ...

  9. 安卓开发实战-记账本APP(五)

    今天将昨天剩余的bug修复,并且完成图标的美化,设置长按删除,模仿支付宝实现金额的动态增加. ①将昨天的布局进行了修改:之前是fragment,改成FrameLayout布局,不再设置name,进而在 ...

  10. PTA 7-9 集合相似度(STL之set初体验)

    7-9 集合相似度(25 分) 给定两个整数集合,它们的相似度定义为:N​c​​/N​t​​×100%.其中N​c​​是两个集合都有的不相等整数的个数,N​t​​是两个集合一共有的不相等整数的个数.你 ...