VS Code设置代码片段(C++)

本文介绍如何在VSCode中自定义代码片段以提高编程效率。以C++为例,详细解释了代码片段的组成要素,包括前缀、主体和描述,并展示了如何创建具体的代码片段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

VS Code设置代码片段,官网介绍
代码片段是模板,可以快速地输入重复的代码,比如循环、条件语句、注释模板等。在vs code中代码片段会和自动提示IntelliSense(Ctrl + Space)一起出现,也出现在专用的代码片段选择器中(在“命令面板”中插入代码片段)。还支持制表符补全:使用启用它"editor.tabCompletion": “on”,键入一个代码段前缀(触发文本),然后按Tab键插入一个代码段。

在这里插入图片描述

正文

本文主要介绍如何自定义代码片段,可以选择要显示代码段的编程语言,我们这里以C++为例。
打开 文件->首选项->用户代码段
在这里插入图片描述
选择C++
在这里插入图片描述
打开后已经存在一个注释的示例代码:

    // Place your snippets for cpp here. Each snippet is defined under a snippet name and has a prefix, body and 
	// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
	// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the 
	// same ids are connected.
	// Example:
	// "Print to console": {
	// 	"prefix": "log",
	// 	"body": [
	// 		"console.log('$1');",
	// 		"$2"
	// 	],
	// 	"description": "Log output to console"
	// }

说明:

  • “Print to console” 是代码段名称。如果未description提供,则通过IntelliSense显示。
  • prefix定义一个或多个在IntelliSense中显示摘要的触发词。
  • body是一或多个内容行,插入时将作为多行内容加入。换行符和嵌入的选项卡将根据插入代码段的上下文进行格式化。$1和$2是占位符,可以通过tab进行切换。
  • description 是IntelliSense显示的代码段的可选描述。

根据以上规则,我们可以实现自己想要的代码片段,比如:

	"Add File Header": {
		"prefix": "fileheader",
		"body": [
			"/**"
			"  * @file    :${TM_FILENAME}"
			"  * @brief   :$1"
			"  * @author  :xxxx"
			"  * @version :V1.0.0"
			"  * @date    :${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}"
			"  */"
		],
		"description": "Add file describe"
	},

	"pragma once":{
		"prefix": "once",
		"body": "#pragma once"
	}

注意,如果有多个代码片段,需要用逗号隔开。
以上实现了两个代码片段,通过fileheader和once就能分别引用到,如下:
在这里插入图片描述
在这里插入图片描述

变量

使用$name或${name:default},您可以插入变量的值。如果未设置变量,则将其默认值或空字符串插入。当变量未知(即未定义其名称)时,将插入该变量的名称,并将其转换为占位符。

可以使用以下变量:

  • TM_SELECTED_TEXT 当前选择的文本或空字符串
  • TM_CURRENT_LINE 当前行的内容
  • TM_CURRENT_WORD 光标下的单词内容或空字符串
  • TM_LINE_INDEX 基于零索引的行号
  • TM_LINE_NUMBER 基于一索引的行号
  • TM_FILENAME 当前文档的文件名
  • TM_FILENAME_BASE 当前文档的文件名,不带扩展名
  • TM_DIRECTORY 当前文档的目录
  • TM_FILEPATH 当前文档的完整文件路径
  • CLIPBOARD 剪贴板中的内容
  • WORKSPACE_NAME 打开的工作空间或文件夹的名称
  • WORKSPACE_FOLDER 打开的工作空间或文件夹的路径

要插入当前日期和时间:

  • CURRENT_YEAR 本年度
  • CURRENT_YEAR_SHORT 本年度的最后两位数字
  • CURRENT_MONTH 以两位数字表示的月份(例如“ 02”)
  • CURRENT_MONTH_NAME 月的全名(例如“七月”)
  • CURRENT_MONTH_NAME_SHORT 该月的简称(例如“ Jul”)
  • CURRENT_DATE 一个月中的某天
  • CURRENT_DAY_NAME 一天的名称(例如“星期一”)
  • CURRENT_DAY_NAME_SHORT 一天的简称(例如“ Mon”)
  • CURRENT_HOUR 当前小时(24小时制)
  • CURRENT_MINUTE 当前分钟
  • CURRENT_SECOND 当前秒
  • CURRENT_SECONDS_UNIX 自Unix时代以来的秒数

要插入行或块注释,请遵循当前语言:

  • BLOCK_COMMENT_START输出示例:PHP/*或HTML<!–
  • BLOCK_COMMENT_END输出示例:PHP*/或HTML–>
  • LINE_COMMENT 示例输出:在PHP中 //

更多设置请参考:
https://code.visualstudio.com/docs/editor/userdefinedsnippets#_common-questions

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luoyayun361

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值