路径: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. GitHub项目大全

    [微信网页版]: [查看被删的微信好友]https://github.com/0x5e/wechat-deleted-friends [网页版微信API,包含终端版微信及微信机器人]https://g ...

  2. NuGet命令行工具和可视化工具

    Nuget出了命令行工具之外,还有一个可视化工具,下载地址如下: 命令行(推荐官网下载,有中文提示!):https://dist.nuget.org/index.html 可视化(简单.方便.易用): ...

  3. genymotion访问电脑的localhost

    用来进行android测试时使用genymotion,genymotion是运行在virtualbox中的,virtualbox为两者建立了连接,在linux下通过ifconfig可以看到有一个叫做v ...

  4. RAC 相关概念解释

    1.1 并发控制 在集群环境中, 关键数据通常是共享存放的,比如放在共享磁盘上. 而各个节点的对数据有相同的访问权限, 这时就必须有某种机制能够控制节点对数据的访问. Oracle RAC 是利用DL ...

  5. PHP数组/Hash表的实现/操作、PHP变量内核实现、PHP常量内核实现 - [ PHP内核学习 ]

    catalogue . PHP Hash表 . PHP数组定义 . PHP变量实现 . PHP常量实现 1. PHP Hash表 0x1: 基本概念 哈希表在实践中使用的非常广泛,例如编译器通常会维护 ...

  6. ecshop /flow.php SQL Injection Vul

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 ECSHOP的配送地址页面网页没有验证地区参数的有效性,存在sql注入漏 ...

  7. Android——旋转屏幕导致Activity重建解决方法

    Android开发文档上专门有一小节解释这个问题.简单来说,Activity是负责与用户交互的最主要机制,任何“设置”(Configuration)的改变都可能对Activity的界面造成影响,这时系 ...

  8. 创建与合并分支-git入门教程

    在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...

  9. linux 设置mysql 数据库编码utf8

    转载地址http://www.linuxidc.com/Linux/2015-08/121676.htm在MySQL数据库中, 当插入数据无法支持中文时, 可将该数据库的编码集设置为utf8, 故在创 ...

  10. java编程思想-java中的并发(四)

    五. 新类库中的构件 Java SE5的java.util.concurrent引入了大量设计用来解决并发问题的新类.学习使用它们将有助于编写出更加简单而强壮的并发程序. 1. CountDownLa ...