更改vs自带的模板
路径:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class
//**********************************************************************
//
// 文件名称(File Name):
// 功能描述(Description):
// 作者(Author):
// 日期(Create Date): $time$
//
// 修改记录(Revision History):
// R1:
// 修改作者:
// 修改日期:
// 修改理由:
//
// R2:
// 修改作者:
// 修改日期: $time$
// 修改理由:
//
//**********************************************************************
using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
$if$ ($targetframeworkversion$ >= 4.5)using System.Threading.Tasks;
$endif$
namespace $rootnamespace$
{
class $safeitemrootname$
{
}
}
vs中的///文档注释类似java中/** */文档注释。能自动的生成帮助文档。
如果我想在每次创建文件时,自动生成文档注释(注意是自动生成文档注释而不是帮助文档),如下面的代码,需要设置VS的模板,新创建的cs类文件会根据模板的样子进行生成。常用的VS文件模板有3个,分别是Class.zip、Interface.zip、From.zip.
我以Class.zip模板设置为例,模板在vs2010下的路径
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class.zip
这里和网上的说法有些不同,网上省了\Code\目录,也许vs2008没有这个目录。
双击打开Class.zip直接编辑Class.cs,不用解压缩,编辑完保存。模板代码设置如下:


1 /* ==============================================================================
2 * 功能描述:$safeitemrootname$
3 * 创 建 者:$username$
4 * 创建日期:$time$
5 * ==============================================================================*/
6 using System;
7 using System.Collections.Generic;
8 $if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
9 $endif$using System.Text;
10
11 namespace $rootnamespace$
12 {
13 /// <summary>
14 /// $safeitemrootname$
15 /// </summary>
16 public class $safeitemrootname$
17 {
18 }
19 }


这里$var$ 都是系统的变量,模板参数是要区分大小写的,大家需要注意。系统提供的可用的参数如下:
参数 说明 clrversion 公共语言运行库 (CLR) 的当前版本。
GUID [1-10] 用于替换项目文件中的项目 GUID 的 GUID。最多可以指定 10 个唯一的 GUID(例如,guid1))。
itemname 用户在添加新项对话框中提供的名称。
machinename 当前的计算机名称(例如,Computer01)。
projectname 用户在新建项目对话框中提供的名称。
registeredorganization HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 中的注册表项值。
rootnamespace 当前项目的根命名空间。此参数用于替换正向项目中添加的项中的命名空间。
safeitemname 用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格。
safeprojectname 用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。
time 以 DD/MM/YYYY 00:00:00 格式表示的当前时间。
userdomain 当前的用户域。
username 当前的用户名。
year 以 YYYY 格式表示的当前年份。
保存并关闭,完成模板设置,会发现新创建的类文件如您所愿。
其他vs版本的设置步骤相同。在vs根目录下搜索Class.zip等模板文件的物理路径
ItemTemplates与ItemTemplatesCache的区别在于,如果您设置了ItemTemplates下的模板,需要在VS命令行中运行devenv /setup 命令 ,以Itemtemplates模板生成ItemTemplatesCache的模板,也就是说ItemTemplatesCache模板的设置会被原始的Itemtemplates模板还原。所以最好不要轻易改变Itemtemplates模板下的内容(他不能还原)。

修改VS自带的模版文件
在新建一个.cs类时,想要自定义其模版中的代码,修改类的访问权限,可以通过修改安装目录中的模版文件来实现。找到如下的路径,然后找到相应的模版文件进行修改。
D:\Program Files\visual-studio\Common7\IDE\ItemTemplates\CSharp\Code
注意,要把zip文件拷贝出来,然后解压,修改其中的模版文件Class.cs,然后再打包成zip文件去目录中覆盖原来的文件,而不能是在目录中直接用解压软件打开zip文件然后修改其中Class.cs的内容,因为这样,只是修改了内存中的内容,而没有真正修改zip文件中Class.cs的内容 http://www.cnblogs.com/mcgrady/p/3749584.html
http://www.cnblogs.com/anderslly/archive/2009/01/18/vs2008-templates.html

更改vs自带的模板的更多相关文章
- 怎么用MindManager自带的模板和设计画思维导图
小编知道大家平时工作学习都很忙,思维导图能完成的效率越高越好.所以今天,小编就为大家介绍两个能高效使用思维导图软件完成制作思维导图的小技巧.保证内容充实美观,还不费时间. 一.使用模板 打开MindM ...
- zabbix利用自带的模板监控mysql数据库
zabbix利用自带的模板监控mysql数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 有些东西你不会的时候觉得它特别难,但是当你去做的时候就发现如此的简单~zabbix功能 ...
- wordpress学习三:wordpress自带的模板学习
在<学习二>里,大概说了下怎么去查找模板,本节我们以一个简单的模板为例子,继续说说wordpress的模板机制,看看做一个自己的模板需要哪些知识点. 页面模板渲染 wordpress的模板 ...
- 【UOJ #79】一般图最大匹配 带花树模板
http://uoj.ac/problem/79 带花树模板,做法详见cyb的论文或fhq的博客. 带花树每次对一个未盖点bfs增广,遇到奇环就用并查集缩环变成花(一个点),同时记录每个点的Next( ...
- zabbix自带的模板监控mysql
科技小能手 2017-11-12 1208浏览量 简介: zabbix官方支持监控MySQL,但直接使用默认的模板是不可用的,还需要经过额外的设置才可以使用.如果只需要对mysql数据库做简单的监控, ...
- js 实现淘宝放大镜功能,可更改配置参数 带完整版解析代码[magnifier.js]
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写淘宝放大镜效果 基本功能: 运 ...
- js 实现淘宝无缝轮播图效果,可更改配置参数 带完整版解析代码[slider.js]
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写淘宝无缝轮播图效果 需求分析: ...
- ProgressDialog(四)——更改系统自带ProgressDialog文字大小
MainActivity如下面: package com.example.ttt; import android.app.Activity; import android.app.ProgressDi ...
- JavaMail 实现发送验证码,带验证码模板的
package util; import java.io.File; import java.io.FileOutputStream; import java.util.Properties; imp ...
随机推荐
- [NOIP2012] 提高组 洛谷P1081 开车旅行
题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的 城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 Hi,城市 ...
- MVC5-7 ValueProvider
统一的数据获取 在WebForm时代,我们是怎么获取值的呢? HttpContext.Request.QueryString HttpContext.Request.Form HttpContext. ...
- python中set使用
In [2]: a = set() # 常用操作1 In [3]: a Out[3]: set() In [4]: type(a) Out[4]: set In [5]: b = set([1, 3] ...
- Unable to execute dex: java.nio.BufferOverflowException.解决办法
异常提示: [2014-01-16 09:27:35 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Ch ...
- jQuery知识点总结(第六天)
今天工作繁忙,晚上又和所谓的'朋友',吃了自助烧烤. 但我内心是很抗拒的,不知为了什么,竟然稀奇古怪的答应了下来,竟要去吃饭.我向来不喜欢去凑热闹,特别是和志趣不投的人在一起吃,对方所说的话,自己根本 ...
- 逐行读取txt文件
header("Content-type:text/html; charset=utf-8"); $handle = fopen('test.php', 'r') or die(' ...
- django rest framework
Django-Rest-Framework 教程: 4. 验证和权限 作者: Desmond Chen, 发布日期: 2014-06-01, 修改日期: 2014-06-02 到目前为止, 我们的AP ...
- python redis使用心得
发布与订阅 连接池代码 redis_conn.py import redis REDIS_CONN = { 'HOST': '192.168.1.11', 'PORT': '6378', 'DB': ...
- angular ui-router 缓存问题
在个别情况下 $state.go()路径和参数完全相同的时候页面因为缓存问题可以直接跳转,但是不能重新获取数据 通过路由参数可以解决 路由 .state('app.***.***', { url: ' ...
- Oracle创建表空间及用户
1.sys dba登录 2.创建临时表空间 create temporary tablespace wf_temp tempfile 'C:\APP\ADMINISTRATOR\ORADATA\PLA ...