前言

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

    版权声明:原创文章,未经博主允许不得转载 前章:https://www.cnblogs.com/weilinfox/p/12246123.html 尽管是简单操作,但内容比较多.可以一边自己尝试编辑一 ...

  2. .Net Core建站(1):EF Core+CodeFirst数据库生成

    emmm,本来想着用Core做一个小项目玩玩的,然后肯定是要用到数据库的, 然后想,啊,要不用CodeFirst,感觉很腻害的样子,于是,一脸天真无邪的我就踏入了一个深不见底的天坑... 本来想着,应 ...

  3. CF990G

    题意 https://codeforces.com/contest/990/problem/G 思考 在200000以内,因数个数最多的数位166320,共有160个因数.可以知道,从一个节点向下走最 ...

  4. Java程序员学习Go指南(终)

    我的博客:https://www.luozhiyun.com/archives/215 context.Context类型 Context类型可以提供一类代表上下文的值.此类值是并发安全的,也就是说它 ...

  5. 一、Django学习之连接与建立数据库

    连接MySQL数据库 配置文件 找到DATABASES对应的设置,修改为MySQL的配置即可 DATABASES = { 'default': { 'ENGINE': 'django.db.backe ...

  6. TypeScript躬行记(4)——泛型

    泛型是程序设计语言中的一种风格或范式,相当于类型模板,允许在声明类.接口或函数等成员时忽略类型,而在未来使用时再指定类型,其主要目的是为它们提供有意义的约束,提升代码的可重用性. 一.泛型参数 当一个 ...

  7. 【译】Serilog 配置基础知识

    Serilog 使用简单的C# API来配置日志记录.当外部配置需要时,可以使用Serilog.Settings.AppSettings包(.NET 框架)或Serilog.Settings.Conf ...

  8. ubuntu 如何添加alias

    公司的nx 上面一般使用gvim 编辑文件.并且为gvim 增加了alias,只要敲 g 就是gvim 的意思,这样编辑一个文件只需要 g xxx.v 就可以了.非常方便. 在自己电脑上安装了ubun ...

  9. Webpack 一,打包JS

    创建入口文件 app.js // es6 module 规范 import sum_d from './sum.js' import {sum_e} from './sum.js' // commco ...

  10. NetworkX包

    官方教程 NetworkX是一个创建,操作,研究复杂网络的结构,动态,功能的python包. #创建一个network import networkx as nx G = nx.Graph() #no ...