当前位置:首页 > 随笔 > 正文内容

自定义Visual Studio 2010模板自动生成文件头注释

访客 随笔 2026年7月11日 4

在日常软件开发过程中,为代码文件添加标准的头部注释是一项常见但重复的工作。通过自定义Visual Studio 2010的模板文件,我们可以实现自动生成这些注释信息,从而提高开发效率。

首先需要定位Visual Studio 2010的安装目录下的\Common7\IDE\ItemTemplatesCache\CSharp\文件夹,其中包含了各种项目类型的模板文件。在这个目录下,你会看到多个子文件夹,分别对应不同的项目类型,如Windows Forms、Web等。

Visual Studio模板文件目录结构

以Web项目为例,进入\Web\2052\目录(2052代表中文区域),找到并解压\WebForm.zip\Default.aspx.cs文件。默认情况下,该文件内容如下:

using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;$endif$
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace $rootnamespace$
{
    public partial class $classname$ : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}

复制代码 模板文件中的"$"符号之间的内容是变量,会在创建新文件时自动替换为相应信息。常用变量及其含义如下:

$time$     当前日期<br>
$year$     当前年份<br>
$clrversion$    .NET CLR版本<br>
$GUID$   用于替换项目文件中的项目GUID<br>
$itemname$  用户在对话框中提供的名称<br>
$machinename$    当前计算机名称<br>
$projectname$   用户在对话框中提供的项目名称<br>
$registeredorganization$   注册表中记录的组织名称<br>
$rootnamespace$  当前项目的根命名空间<br>
$safeitemname$  用户提供的名称,已移除不安全字符和空格<br>
$safeprojectname$  用户提供的项目名称,已移除不安全字符和空格<br>
$userdomain$  当前用户域<br>
$username$  当前用户名

复制代码 下面是一个自定义的头部注释模板示例:

// ===============================================================================
// 项目名称        :    $rootnamespace$
// 项目描述        :    
// ===============================================================================
// 类名称          :    $safeitemrootname$
// 类版本          :    v1.0.0.0
// 类描述          :    
// 作者            :    $username$
// 创建时间        :    $time$
// 更新时间        :    $time$
// ===============================================================================
// Copyright © $machinename$ $year$ . All rights reserved.
// ===============================================================================

复制代码 将上述代码添加到Default.aspx.cs文件的开头,保存并重新压缩为WebForm.zip文件。这样,每次创建新的Web窗体时,都会自动包含自定义的头部注释。

修改后的最终效果如下:

// ===============================================================================
// 项目名称        :    Weisenz.Web
// 项目描述        :    
// ===============================================================================
// 类名称          :    Services
// 类版本          :    v1.0.0.0
// 类描述          :    
// 作者            :    Charles
// 创建时间        :    2012/3/29 13:38:53
// 更新时间        :    2012/3/29 13:38:53
// ===============================================================================
// Copyright © Weisenz 2012 . All rights reserved.
// ===============================================================================
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Weisenz.Web
{
    public partial class Services : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}

复制代码 通过同样的方法,你可以修改其他类型的模板文件,为不同类型的项目添加自定义的头部注释。只需找到对应的模板文件,按照上述步骤进行修改即可。

标签: Visual Studio

相关文章

可以按小时收费的VPS

很多 VPS 提供商都支持 按小时计费(hourly billing),想短期试用 / 临时搭建节点、测试网络、短期项目等场景非常合适。下面是当前最主流且靠谱的按小时 VPS 选项,分别按不同需求场景整理: 1. Vultr(全球节点,包括日本) 按小时计费 可选机房:东京 / 大阪 / 洛杉矶 / 法兰克福 / 伦敦 … 支持 PayPal(部分情况),但更常用信用卡/PayPal+卡价格参考$...

在 iPhone 上下载国外App

地区/国家限制App Store 会根据 Apple ID 的国家或地区限制应用下载。如果你的 Apple ID 绑定的是中国大陆,就可能无法下载 OpenAI 官方的 ChatGPT 应用,因为它在大陆 App Store 不上架。解决办法:换成美国、加拿大、香港等地区的 Apple ID。或者在现有 Apple ID 上更改地区。注册一个国外 Apple ID(推荐)比如注册 美国区 Appl...

Node.js 中的异步编程:回调与 Promise

Node.js 是一个基于 JavaScript 构建的单线程、非阻塞运行环境,它通过异步编程机制来高效处理多个操作。在执行如文件读取、API 请求或数据库查询等任务时,Node.js 不会等待这些操作完成,而是使用回调函数和 Promise 来避免阻塞主线程。 回调方式实现异步 那么当异步操作完成后,Node.js 如何知道接下来要做什么呢?这就要用到 回调函数(callback)。 回调本质上...

Selenium自动化测试入门指南

Selenium自动化测试入门指南

什么是自动化测试? 自动化测试是指利用软件工具自动执行测试用例,模拟用户操作,如打开网页、点击链接、输入文本等,并验证结果是否符合预期。 其主要优点包括: 大幅减少人工成本 测试速度快 可以在非工作时间运行 支持持续集成和交付 然而,它也存在一些局限性,例如开发成本较高、不适合快速变化的项目、依赖稳定的UI界面等。 自动化测试的应用条件 适合引入自动化测试的情况包括: 手动测试耗时且需要大量...

MariaDB Galera集群故障快速恢复指南

OpenStack控制节点采用三节点MariaDB Galera集群架构。当数据库集群因故障重启时,有时会出现Galera集群无法正常启动的问题。虽然有多种方法可以恢复数据库服务,但如何实现快速启动同时确保数据完整性呢? 通过分析日志发现,MariaDB Galera集群节点宕机时会在日志中输出以下信息: [Note] WSREP: 新集群视图:全局状态: 874d8e7e-5980-11e8-8...

Android 中 EventBus 的通信机制与实现原理深度解析

EventBus 核心设计思想 EventBus 是一个基于观察者模式的事件总线框架,广泛应用于 Android 平台以实现组件解耦。它通过中心化的消息分发机制,使不同层级、不同线程的对象能够以"发布-订阅"方式通信,避免了传统接口回调或广播带来的强依赖问题。 核心角色说明 事件(Event):任意 Java 对象,作为数据载体,如网络状态变更通知、用户登录信息等。 发布者(Publi...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。