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

原文:如何利用 Visual Studio 自定义项目或工程模板

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

 

  我们其实完全可以利用 Visual Studio 提供的模板工具自定义一套专属的模板。

 

自定义项目模板

  假如当我添加一个 .cs 文件后,我希望默认添加的文件要看起来像这个样子:

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

 

  如何实现

  1. 随意新建一个工程或使用一个已经存在的工程,在该项目内新添加一个普通的 class 文件,打开后应该和下图长得差不多。

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

 

  2. 修改这个文件,让它看起来和我们的目标模板越像越好。

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

 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 提供了一堆占位符供我们使用。 

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

上图只是其中一部分,更多请查看文后的参考资源

 

  3. 导出模板

  3.1 选择 文件 / 导出模板...

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

 

  3.2 选择项目模板

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

 

  3.3 选择我们要导出的模板

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

 

  3.4 不用勾选

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

 

  3.5 修改模板名称等信息,同时勾选 “自动导入到 Visual Studio ” 中

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

 

  3.6 点击完成,Visual Studio 便开始生成模板 (zip文件)

 

  4. 检查下效果

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

新增文件的时候,就会找到我们自己的模板

 

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

文件中的占位符已经被正确替换

 

自定义工程模板

  整个过程和自定义项目模板类似,只不过自定义工程模板的时候需要根据预期的模板工程新建一个对应的工程。这里我以类库项目为例进行介绍。

  因为是针对整个工程来说,所以记得把所有需要修改的文件都要进行修改,修改方式参考自定义项目模板。

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

修改代码

 

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

选择工程模板

 

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

填写信息

 

  当下一次添加新的工程时候,就会发现新的模板。

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

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

文件中的信息已经被正确替换了

 

 

参考资源

  模板参数

 

  本文来源于 《如何利用 Visual Studio 自定义项目或工程模板》

上一篇:thinkphp-FOREACH标签3


下一篇:控制台下的图表库 tcharts.js