当前位置: 首页 > news >正文

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

模板路径: 

VS2022 x64:C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\ItemTemplatesVS2022 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
guid[1-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 格式表示的当前年份。

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

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

四、示例

  c#示例:

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

VB.NET示例: 

'***************************************************************************************************
'
' 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) : 无
'
'
'***************************************************************************************************

http://www.lryc.cn/news/186985.html

相关文章:

  • 机器学习-数值特征
  • Rocky(centos)安装nginx并设置开机自启
  • Android约束布局ConstraintLayout的Guideline,CardView
  • LVGL8.3.6 Flex(弹性布局)
  • 计算机算法分析与设计(8)---图像压缩动态规划算法(含C++)代码
  • React 状态管理 - Mobx 入门(上)
  • OLED透明屏技术在智能手机、汽车和广告领域的市场前景
  • 考研是为了逃避找工作的压力吗?
  • 广州华锐互动:VR动物解剖实验室带来哪些便利?
  • Uniapp 婚庆服务全套模板前端
  • RabbitMQ-网页使用消息队列
  • 弹性资源组件elastic-resource设计(四)-任务管理器和资源消费者规范
  • 【Java】微服务——RabbitMQ消息队列(SpringAMQP实现五种消息模型)
  • react高阶成分(HOC)实践例子
  • 20231005使用ffmpeg旋转MP4视频
  • MySQL-锁
  • ES6中变量解构赋值
  • Dijkstra 邻接表表示算法 | 贪心算法实现--附C++/JAVA实现源码
  • 从城市吉祥物进化到虚拟人IP需要哪些步骤?
  • 认识SQLServer
  • Python开发IDE的比较:PyCharm vs. VS Code vs. Jupyter
  • 1206. 设计跳表
  • 【API要返回一棵树的结构】数据库表结构是平铺的数据,但是api要实现树状结构展示。api实现一棵树的结构,如何实现呢,递归?如何递归呢
  • 视频批量剪辑工具,自定义视频速率,批量剪辑工具助力创意无限”
  • starrocks启动和停止和重启脚本
  • 升级Xcode 15后,出现大量Duplicate symbols问题
  • Godot2D角色导航教程(角色随鼠标移动)
  • 论文阅读--Cell-free massive MIMO versus small cells
  • 【深度学习】UniControl 一个统一的扩散模型用于可控的野外视觉生成
  • 使用ChatGPT和MindShow一分钟生成PPT模板