Visual Studio自定义模板参数、备注

模板路径:

vbnet 复制代码
VS2022 x64:C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\ItemTemplates

VS2022 x86:C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\ItemTemplates

一、声明和启用模板参数

模板参数以 参数 的格式进行声明。 例如:

  • rootnamespace

  • guid1

  • guid5

二、在模板中启用参数替换

  1. 在模板的 .vstemplate 文件中,找到与要为之启用参数替换的项对应的 ProjectItem 元素。

  2. ReplaceParameters 元素的 ProjectItem 属性设置为 true

  3. 在项目项的代码文件中,在适当位置上包括参数。 例如,以下参数指定根命名空间用于文件中的命名空间:

    复制代码
    namespace $rootnamespace$

三、保留的模板参数

下表列出可供任何模板使用的保留的模板参数:

参数 说明
clrversion 公共语言运行时 (CLR) 的当前版本。
ext_* ext_ 前缀添加到任何参数,以引用父模板的变量。 例如,ext_safeprojectname
guid1-10 一个用于替换项目文件中的项目 GUID 的 GUID。 可指定最多 10 个唯一的 GUID(例如,guid1)。
itemname 在其中使用参数的文件的名称。
machinename 当前的计算机名称(例如,Computer01)。
projectname 创建项目时由用户提供的名称。 此参数仅适用于项目模板。
registeredorganization 来自 HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 的注册表项值。
rootnamespace 当前项目的根命名空间,后跟当前项的子文件夹,用句点替换斜杠。
defaultnamespace 当前项目的根命名空间。
safeitemname itemname 相同,但所有不安全字符和空格替换为了下划线。
safeitemrootname safeitemname 相同。
safeprojectname 用户在创建项目时提供的名称,但名称中删除了所有不安全字符和空格。 此参数仅适用于项目模板。
targetframeworkversion 目标 .NET Framework 的当前版本。
time 格式基于 Windows 用户设置的当前时间。 以 DD/MM/YYYY 00:00:00 时间格式为例。
specifiedsolutionname 解决方案的名称。 在选中"创建解决方案目录"时,specifiedsolutionname 具有解决方案名称。 在未选中"创建解决方案目录"时,specifiedsolutionname 为空。
userdomain 当前的用户域。
username 当前的用户名称。
webnamespace 当前网站的名称。 此参数在 Web 窗体模板中用于保证类名是唯一的。 如果网站在 Web 服务器的根目录下,则此模板参数解析为 Web 服务器的根目录。
year 以 YYYY 格式表示的当前年份。

备注:模板参数区分大小写。

说明来源地址:https://learn.microsoft.com/zh-cn/visualstudio/ide/template-parameters?view=vs-2022

四、示例

c#示例:

cs 复制代码
/*	CLR版本:			$clrversion$
*	新建项输入的名称:	$itemname$
*	机器名称:		    $machinename$
*	注册组织:		    $registeredorganization$
*	命名空间:		    $rootnamespace$
*	文件名:			    $safeitemrootname$
*	当前系统时间:		$time$	
*	用户所在域:		    $userdomain$
*	当前登录用户名:		$username$
*	创建年份:		    $year$
*	作者:SOESC
*/

VB.NET示例:

vbnet 复制代码
'***************************************************************************************************
'
' Copyright © $year$ SOESC.COM. All rights reserved.
'
' 文件名称(File Name) :$safeitemname$
'
' 命名空间(Namespaces) :$rootnamespace$
'
' 功能描述(Description) :无
'
' 数据表(Tables) :无
'
' 作者(Author) :无
'
' 日期(Create Date) :$time$
'
' 版本号(Version):V1.0.0.0
'
' 修改记录(Revision History) : 无
'
'
'***************************************************************************************************
相关推荐
liufeiyu197613 小时前
VS 2026 升级后出现错误: 找不到指定的 SDK“Microsoft.NET.Sdk”
visual studio·vs 2026
霍霍的袁15 小时前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
2501_9159090619 小时前
移动端开发工具链怎么组合比较好,iOS、Android、跨端三套配置方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_915918411 天前
iOS编程用什么软件好?主流工具Xcode、AppCode、CodeRunner与新兴快蝎对比
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
VIP_CQCRE2 天前
在 Visual Studio 里接入 Ace Data Cloud:让 AI 编程助手直接用上 OpenAI 兼容接口
openai·ai编程·开发工具·visual studio·acedatacloud
VIP_CQCRE2 天前
在 Visual Studio 里接入 AI 编程助手:用 Ace Data Cloud 打通 OpenAI 兼容接口与 LMLocal
openai·ai编程·visual studio·acedatacloud·lmlocal
free-elcmacom2 天前
发际线警告!手撕《C陷阱与缺陷》终极 BOSS:signal 函数与 typedef 魔法
c语言·开发语言·visual studio code·visual studio
VIP_CQCRE2 天前
Visual Studio 也能丝滑接入大模型:用 Ace Data Cloud + LMLocal 打造 AI 编程体验
ai·大模型·visual studio·ace data cloud·lmlocal
千谦阙听2 天前
【 C++篇】:模板初阶——泛型编程、函数模板与类模板
开发语言·c++·学习·visual studio
滕州市燕猫虎计算机科技工作室个体工商户2 天前
IDEA:Command line is too long
java·ide·intellij-idea