前言
头部的注释信息可以方便其他人了解这文件的内容和用途,函数的注释信息可以方便其他人了解这个函数怎么使用,所以是很有必要的,在pycharm等IDE中有比较方便的方式可以直接生成这样的注释段,但是vscode中需要用户自定义代码片段来完成操作,先看看效果
插入后效果(这里是已经填写过东西的效果)
使用中效果,一般输入prefix的前面几个字母vscode就能够提示了
选中敲下回车后就生成出来了
接下来就只需要根据实际情况往里面填写东西了
操作
找到这个配置用户自定义代码片段选项,然后点击
在弹出来的搜索框中搜索要修改的配置文件,如果希望这个自定义代码片段在c语言(文件)中生效,就搜索c.json文件,如果需要在python文件中生效,就搜索python.json文件,以此类推,这里以c语言为例
点击然后就会进入到这个配置文件中
这个配置文件怎么写其实在这个文件里面已经有示例了,如下
Place your snippets for c 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"
}
翻译一下就是
将你的 C 语言代码片段放在这里。每个代码片段都有一个名称、前缀、主体和描述。前缀用于触发代码片段,而主体将被扩展和插入。可能的变量包括:$1、$2 用于制表位,$0 用于最终的光标位置,以及 ${1:label}、${2:another} 用于占位符。具有相同标识的占位符是关联的。
示例:
"输出到控制台": {
"prefix": "log",
"body": [
"console.log('$1');",
"$2"
],
"description": "将输出记录到控制台"
}
这里给出一个示例
"Print to Description": {
"prefix": "description",
"body": [
"/*",
"* @Description: $0",
"* @Author: yumu",
"* @TimeComplexityRecurrence: $1",
"* @BestCaseTimeComplexity: $2",
"* @WorstCaseTimeComplexity: $3",
"* @AverageCaseTimeComplexity: $4",
"*/"
],
"description": "a description mode"
}
解释如下
Print to Description 是一个代码片段的名字,要定义这样一个代码片段,就得先有一个名字
“prefix”: "description"是对前缀进行定义,这里把前缀定义为description,当输入description的时候就可以自动插入代码段
下面的body部分就是代码段的具体内容,其中$1 $2 $3 $4分别指的是光标在的第1 2 3 4个位置,也即是说在一开始插入这个代码段的时候,默认是把光标放在$1的位置,然后按一下tab就切换到$2的位置,$0代表最后的位置,也就是前面的 $n 的位置都被切换到了之后最后会切换到的位置
description就是对这个代码段的描述
同理,对于函数的注释,我们可以这样写
"Print to func": {
"prefix": "func",
"body": [
"/**",
" * @func $1",
" * @desc $2",
" * @param {$3} $4 $5",
" * @return {$6} $7",
" */"
],
"description": "a func mode"
}
修改完配置文件后保存就可以使用了
注意事项
在我的演示的示例中都是把代码段用于写注释,所以在代码段的body中,每一行的字符串都是加了注释符号的,那个不是特定的格式,而是注释需要,所以在用到一般代码段中的时候是不需要写注释的那个 /** 和 * 的