路径: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. 针对CMS中的tag标签理解

    针对CMS的tag标签有以下解释: 什么tag标签? TAG标签是一种由自定义的一种标签,要比分类更加的准确,可以概括文章主要内容的关键词. 运用TAG标签,可以使网站的文章更容易被搜索引擎检索到.百 ...

  2. easyui使用datagrid时列名包含特殊字符导致表头与数据错位的问题

    做一个用easyui的datagrid显示数据的功能时发现表格的列头与数据错位了,而且这个现象不总是能重现,一直没搞清楚原因.后来偶然在控制台看出了一点端倪: 推测表头或者单元格的class名应该是用 ...

  3. codevs 1001 舒适的路线(Kruskal)

    传送门 Description Z小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光.Z小镇附近共有N(1<N≤500)个景点(编号为1,2,3,…,N),这些景点被M(0<M≤5 ...

  4. linux下git的简单运用

    linux下git的简单运用 windows下也有git,是git公司出的bash,基本上模拟了linux下命令行.许多常用的命令和linux下操作一样.也就是说,windows下的git命令操作和l ...

  5. javamail实践

    public static void main(String[] args) throws Exception, Exception { MimeMessage message=new MimeMes ...

  6. select例子

    好长时间没有写了,其实一直在坚持学习. #include <sys/types.h> #include <sys/socket.h> #include <stdio.h& ...

  7. jquery条件选择多个元素(与、或者)

    或者:选择器用逗号分隔,这也对应了jquery对象转dom为$(obj)[0]的写法 如:$('div[name="a"],div[name="b"]') :h ...

  8. angularjs笔记(三)

    AngularJS API 7.其他一些常用指令,布尔类型的指令也可以用表达式 (1).数组索引$index <!DOCTYPE html> <html> <head&g ...

  9. PHP 弹出文件下载

    /** * @author default7<default7@zbphp.com> * @description 演示PHP弹出下载的原理 * * @param $file_name * ...

  10. Windows 无法自动将 IP 协议堆栈绑定到网络适配器。解

    Windows 无法自动将 IP 协议堆栈绑定到网络适配器.解  昨天断网了,所以把珍藏已久的无线网卡拿出来蹭网.我系统是Windows 7 但是装上去东显示已启用,就是用不了,用windows诊断是 ...