在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权、开发人员的信息,并且名称空间上都需要带有公司的标志。这个时候,是选择在开发的时候手动添加还是自动生成呢?

  我们其实完全可以利用 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 自定义项目或工程模板》

作者:stg609

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

本人博客已经转移到Charley Blog

 
分类: .Net 技术

Visual Studio 自定义项目或工程模板的更多相关文章

  1. 如何利用 Visual Studio 自定义项目或工程模板

    在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志.这个时候,是选择在开发的时候手动添加还是自动生成呢? 我们 ...

  2. 如何利用 Visual Studio 自定义项目或工程模板(转载)

    在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志.这个时候,是选择在开发的时候手动添加还是自动生成呢? 我们 ...

  3. Visual Studio 自定义项目模板

    经常我们需要新建一个项目,然后新建我们的View文件夹,ViewModel文件夹,Model文件夹,还有把我们的ViewModelBase放入我们的VIewModel,如果还用框架,还需要加上好多. ...

  4. [Visual Studio] 自定义项目模板(.vsix扩展)

    VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...

  5. DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版及制作Visual Studio C#项目模板文件详解

    关于 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  6. Visual Studio 编译项目失败,提示找不到文件

     博客地址:http://blog.csdn.net/FoxDave 今天碰到了一个蠢问题,虽然咱们正常情况下是遇不到的,但这确实是个应该注意的地方,所以简单记录一下. Visual Studio ...

  7. Visual Studio .NET项目转换器(ProjectConverter)修改

    Visual Studio .NET 项目转换器非常类似于ASP.NET版本转换器,区别在于它用于转换 Visual Studio 项目文件的版本.尽管在 .NET 框架的 1.0 版和 1.1 版之 ...

  8. visual studio的项目属性表

    最近发现一个有趣的东西:visual studio的项目属性表 我下载了cocos2d-x-3.0alpha1,然后发现HelloLua项目配置里没有配include搜索目录和依赖库以及一个Marco ...

  9. Visual studio 创建项目失败vstemplate

    Visual studio 创建项目失败 提示 the vstemplate file references the wizard class 'Microsoft.VisualStudio.WinR ...

随机推荐

  1. windows平台下载android源代码

    最近观看<android核心分析>,所以很多细节都没有详细看代码很难理解.请记住,印象不深.感觉是最好再一起去的源代码,返回下载android源代码,遇到了许多问题,最后开始下载.合并流程 ...

  2. JUnit4.8.2来源分析-2 org.junit.runner.Request

    JUnit4.8.2源代码,最为yqj2065兴趣是org.junit.runner.Request,现在是几点意味着它? ①封装JUnit的输入 JUnit4作为信息处理单元,它的输入是单元測试类- ...

  3. ZOJ 1649:Rescue(BFS)

    Rescue Time Limit: 2 Seconds      Memory Limit: 65536 KB Angel was caught by the MOLIGPY! He was put ...

  4. C#如何设置session过期时间

    1.操作系统  步骤:开始——〉管理工具——〉Internet信息服务(IIS)管理器——〉网站——〉默认网站——〉  右键“属性”——〉主目录——〉配置——〉选项——〉启用会话状态——〉会话超时(在 ...

  5. NYOJ 105 其余9个

    九的余数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描写叙述 如今给你一个自然数n,它的位数小于等于一百万,如今你要做的就是求出这个数整除九之后的余数. 输入 第一行有一 ...

  6. DirectX11 学习笔记3 - 创建一个立方体 和 轴

    该方案将在进一步的程序 面向对象. 独立的模型类.更像是一个框架. 其中以超过遇到了一个非常有趣的问题,.获得一晚.我读了好几遍,以找到其他的列子.必须放在某些功能Render里面实时更新,而不是仅仅 ...

  7. Android学习----异常(2):Please ensure that adb is correctly located at &#39; ... &#39;

    打开任务管理器,在后台进程中找到 kadb,结束这个进程,重新启动eclipse.

  8. django中通过model名字获取model

    django1.6, 通过字符串和get_app.get_model获得对应的object 只需要两行代码: from django.db.models import get_model get_mo ...

  9. Mac在结构quick cocos2d-x编译环境

    关于 Quick 很多其它的使用说明可參考安装文件夹下的 README 文件. Quick-Coco2d-x开发工具 普通情况下,我们通常都会採用Cocos Code IDE作为开发工具来高速开发游戏 ...

  10. 【Stackoverflow好问题】java在,如何推断阵列Array是否包括指定的值

    问题 java中,怎样推断数组Array是否包括指定的值 精华回答 1. Arrays.asList(...).contains(...) 2. 使用 Apache Commons Lang包中的Ar ...