路径: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自带的模板的更多相关文章

  1. 怎么用MindManager自带的模板和设计画思维导图

    小编知道大家平时工作学习都很忙,思维导图能完成的效率越高越好.所以今天,小编就为大家介绍两个能高效使用思维导图软件完成制作思维导图的小技巧.保证内容充实美观,还不费时间. 一.使用模板 打开MindM ...

  2. zabbix利用自带的模板监控mysql数据库

    zabbix利用自带的模板监控mysql数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 有些东西你不会的时候觉得它特别难,但是当你去做的时候就发现如此的简单~zabbix功能 ...

  3. wordpress学习三:wordpress自带的模板学习

    在<学习二>里,大概说了下怎么去查找模板,本节我们以一个简单的模板为例子,继续说说wordpress的模板机制,看看做一个自己的模板需要哪些知识点. 页面模板渲染 wordpress的模板 ...

  4. 【UOJ #79】一般图最大匹配 带花树模板

    http://uoj.ac/problem/79 带花树模板,做法详见cyb的论文或fhq的博客. 带花树每次对一个未盖点bfs增广,遇到奇环就用并查集缩环变成花(一个点),同时记录每个点的Next( ...

  5. zabbix自带的模板监控mysql

    科技小能手 2017-11-12 1208浏览量 简介: zabbix官方支持监控MySQL,但直接使用默认的模板是不可用的,还需要经过额外的设置才可以使用.如果只需要对mysql数据库做简单的监控, ...

  6. js 实现淘宝放大镜功能,可更改配置参数 带完整版解析代码[magnifier.js]

    前言:         本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽.         本篇文章为您分析一下原生JS写淘宝放大镜效果 基本功能: 运 ...

  7. js 实现淘宝无缝轮播图效果,可更改配置参数 带完整版解析代码[slider.js]

    前言:         本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽.         本篇文章为您分析一下原生JS写淘宝无缝轮播图效果 需求分析: ...

  8. ProgressDialog(四)——更改系统自带ProgressDialog文字大小

    MainActivity如下面: package com.example.ttt; import android.app.Activity; import android.app.ProgressDi ...

  9. JavaMail 实现发送验证码,带验证码模板的

    package util; import java.io.File; import java.io.FileOutputStream; import java.util.Properties; imp ...

随机推荐

  1. hdu 1757 矩阵

    用矩阵表示状态,矩阵乘法的就是状态之间的变换 作一个vector: 要求的就是一个矩阵A,使得上面那个vector乘以A之后变成 解得A= [不知道用逆矩阵能不能直接求出A Ref:http://bl ...

  2. 数组内部对象排序(sort)

    1.数组排序有很多方法比如for,while循环去进行冒泡排序或者快速看.排序等多种排序方法 而我在这里要说的是苹果API提供的几个系统方法 a.迭代器     Descriptor b.方法比较   ...

  3. struts2 CVE-2010-1870 S2-005 XWork ParameterInterceptors bypass allows remote command execution

    catalog . Description . Effected Scope . Exploit Analysis . Principle Of Vulnerability . Patch Fix 1 ...

  4. CentOS7安装mongoDB数据库

    CentOS7安装mongoDB数据库 时间:2015-03-03 16:45来源:blog.csdn.net 作者:进击的木偶 举报 点击:8795次 mongoDB是目前发展比较好的NOSQL数据 ...

  5. POJ 1659 Frogs' Neighborhood(Havel-Hakimi定理)

    题目链接: 传送门 Frogs' Neighborhood Time Limit: 5000MS     Memory Limit: 10000K Description 未名湖附近共有N个大小湖泊L ...

  6. glade2支持C++代码的输出(1)

    开发了一个基类,用于支持GTK2的信号回调 见BaseObject.zip 为了便于快速通过glade设计界面,并生成相应的C++代码,我对glade-2 2.12.2的代码进行了修改 原始代码:gl ...

  7. WinForm------给GridControl添加搜索功能

    //按钮点击事件 private void Btn_Search_Click(object sender, EventArgs e) { //获取编辑框的值 string text = this.te ...

  8. JavaScript学习笔记——数组

    javascript数组数组是一个可以存储 一组 或是 一系列 相关数据 的 容器. 一.为什么要使用数组. (1)为了解决大量相关数据的存储和使用的问题. (2)模拟真是的世界. 二.如何创建数组 ...

  9. useradd命令老是忘记的参数

    useradd有些参数老是忘记,是用的少还是不熟练呢?记录下吧 [root@svn ~]# useradd --help 用法:useradd [选项] 登录 useradd -D useradd - ...

  10. yourphp数据库介绍

    yt_attachment 编辑器图片上传存放的表