如何利用 Visual Studio 自定义项目或工程模板(转载)
在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权、开发人员的信息,并且名称空间上都需要带有公司的标志。这个时候,是选择在开发的时候手动添加还是自动生成呢?
我们其实完全可以利用 Visual Studio 提供的模板工具自定义一套专属的模板。
自定义项目模板
假如当我添加一个 .cs 文件后,我希望默认添加的文件要看起来像这个样子:
如何实现
1. 随意新建一个工程或使用一个已经存在的工程,在该项目内新添加一个普通的 class 文件,打开后应该和下图长得差不多。
2. 修改这个文件,让它看起来和我们的目标模板越像越好。

1 #region 版权信息
2 /*
3 * -----------------------------------------------------------
4 * Copyright (c) 2014 chenxu.me All rights reserved.
5 * -----------------------------------------------------------
6 *
7 * 创建者: $username$
8 * 创建时间: $time$
9 * CLR: $clrversion$
10 *
11 */
12 #endregion
13
14 using System;
15 using System.Collections.Generic;
16 using System.Linq;
17 using System.Text;
18 using System.Threading.Tasks;
19
20 namespace Charley.$rootnamespace$
21 {
22 class Class1
23 {
24 }
25 }

有一部分信息,例如时间,是没办法在写模板的时候就知道的,这个只能在生成文件的时候才能知道。此类动态的数据,Visual Studio 提供了一堆占位符供我们使用。
上图只是其中一部分,更多请查看文后的参考资源
3. 导出模板
3.1 选择 文件 / 导出模板...
3.2 选择项目模板
3.3 选择我们要导出的模板
3.4 不用勾选
3.5 修改模板名称等信息,同时勾选 “自动导入到 Visual Studio ” 中
3.6 点击完成,Visual Studio 便开始生成模板 (zip文件)
4. 检查下效果
新增文件的时候,就会找到我们自己的模板
文件中的占位符已经被正确替换
自定义工程模板
整个过程和自定义项目模板类似,只不过自定义工程模板的时候需要根据预期的模板工程新建一个对应的工程。这里我以类库项目为例进行介绍。
因为是针对整个工程来说,所以记得把所有需要修改的文件都要进行修改,修改方式参考自定义项目模板。
修改代码
选择工程模板
填写信息
当下一次添加新的工程时候,就会发现新的模板。
文件中的信息已经被正确替换了
如何利用 Visual Studio 自定义项目或工程模板(转载)的更多相关文章
- 如何利用 Visual Studio 自定义项目或工程模板
在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志.这个时候,是选择在开发的时候手动添加还是自动生成呢? 我们 ...
- Visual Studio 自定义项目或工程模板
如何利用 Visual Studio 自定义项目或工程模板 在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志 ...
- Visual Studio 自定义项目模板
经常我们需要新建一个项目,然后新建我们的View文件夹,ViewModel文件夹,Model文件夹,还有把我们的ViewModelBase放入我们的VIewModel,如果还用框架,还需要加上好多. ...
- [Visual Studio] 自定义项目模板(.vsix扩展)
VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...
- 如何利用 Visual Studio 自带工具提高开发效率
Visual Stuido 是一款强大的Windows 平台集成开发工具,你是否好好地利用了它呢? 显示行号 有些时候(比如错误定位)的时候,显示行号将有利于我们进行快速定位. 如何显示 1. 工具 ...
- DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版及制作Visual Studio C#项目模板文件详解
关于 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- Visual Studio关于项目迁移或拉取代码产生的dll黄色感叹号警告问题解决方案
今天换了台大电脑,准备好好爽一下, 就把笔记本上的项目拷贝到了台式机上, 但是我没有拷贝解决方案整个文件夹,因为其中项目太多了,我就把其中一个项目的文件夹直接拷贝到电脑上,然后就出现了下面的情况. 这 ...
- Visual Studio 编译项目失败,提示找不到文件
博客地址:http://blog.csdn.net/FoxDave 今天碰到了一个蠢问题,虽然咱们正常情况下是遇不到的,但这确实是个应该注意的地方,所以简单记录一下. Visual Studio ...
- Visual Studio .NET项目转换器(ProjectConverter)修改
Visual Studio .NET 项目转换器非常类似于ASP.NET版本转换器,区别在于它用于转换 Visual Studio 项目文件的版本.尽管在 .NET 框架的 1.0 版和 1.1 版之 ...
随机推荐
- 【Python】使用torrentParser1.03对多文件torrent的分析结果
Your environment has been set up for using Node.js 8.5.0 (x64) and npm. C:\Users\horn1>cd C:\User ...
- 【Python】torrentParser1.02
#------------------------------------------------------------------------------------ # torrentParse ...
- Wifidog的协议梳理
上篇文章结合wifidog的协议,讲解了如何实现wifi认证.这篇文章会详细讲解一下wifidog的协议. wifidog的认证流程图 用户连接WIFI会跳转到以下地址: 1 2 3 4 5 6 7 ...
- OCIEnvCreate 失败,返回代码为 -1的解决方法
错误描述 连接Oracle始终报这个错误: {System.Exception: OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用 本机环境是oracle10g客户端,以前也连过 ...
- ZH奶酪:Python中range和xrange的区别
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.range示例: >>> ...
- c++ windows下读取大文件(内存映射)
关于内存映射的基本知识以及一些函数的原型说明,参考博客:http://blog.csdn.net/wcyoot/article/details/7363393 下面是我对于读取一个104M文件大小,使 ...
- VCAP5-DCA Objective 1.3 – Configure and Manage Complex Multipathing and PSA Plug-ins
http://virtuallyhyper.com/2012/10/vcap5-dca-objective-1-3-configure-and-manage-complex-multipathing- ...
- Linux实现多线程高速下载
使用Wget下载,有时候速度挺慢的. 有没有好办法呢? 一.解决方案 安装axel 安装方法: yum -y install epel-release .el7.x86_64.rpm rpm -ivh ...
- NetCore的控制台应用中搭建WebServer的方法
一.新建NetCore控制台项目,并引入下列Nuget包: Microsoft.AspNetCore.StaticFiles.Microsoft.AspNetCore.Http.Microsoft.A ...
- Go语言使用Beego的ORM插入Mysql后,时区不一致的解决方案
一.解决方案: 方案一: orm.Debug = false orm.DefaultTimeLoc = time.UTC orm.RegisterDriver("mysql", o ...