VS Code用户代码片段中变量与纯文本无空格紧邻配置方法问询
解决VS Code用户代码片段中变量与纯文本紧邻的识别问题
这个坑我之前踩过!VS Code的代码片段引擎在识别变量时,会把变量名后面紧跟的字符当成变量名的一部分,所以你写$CURRENT_DATET的时候,它会误以为这是一个叫CURRENT_DATET的变量(而不是CURRENT_DATE加纯文本T),自然就输出了未识别的变量名。
正确的写法:用花括号包裹变量明确边界
VS Code支持用${变量名}的语法来包裹变量,这样就能清晰区分变量和后续的纯文本。把你的代码片段改成下面这样就行:
"Custom Timestamp": { "prefix": "mytimestamp", "body": [ "${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}T${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}-0530" ], "description": "生成带固定时区偏移的时间戳" }
原理说明
当变量被${}包裹后,编辑器会准确识别变量的结束位置,后面的T就会被当作普通纯文本处理,最终就能输出你想要的2022-02-19T21:02:24-0530格式了。这种写法是VS Code代码片段的标准语法,只要是变量需要和其他字符紧邻的场景,都应该用这种方式来避免识别错误。
内容的提问来源于stack exchange,提问作者Gangula




