VS Code代码片段开发疑问:选中文本大写赋值与条件输出
VS Code代码片段解决方案
需求1:将选中文本转大写后赋值给变量
VS Code内置变量(如TM_SELECTED_TEXT)为只读状态,无法直接赋值,但可通过自定义变量存储转换后的大写文本,示例片段如下:
"Assign Uppercase Selected Text": { "prefix": "upassign", "body": [ "${1:myVar} = '${2:${TM_SELECTED_TEXT/(.*)/${1:/upcase}/}}';", "$0" ], "description": "Assign uppercase version of selected text to a variable" }
- 插入片段后,
${1:myVar}为可编辑的变量名,${2:...}默认填充选中文本的大写形式(如选中house则显示HOUSE) - 若需在同一片段中复用该大写文本,后续可通过
$2引用
需求2:条件处理大写选中文本(有选中时输出大写,无选中时光标停在指定位置)
使用VS Code片段的替换+默认值语法实现,正确代码片段:
"SQL FREE Statement": { "prefix": "sqlfree", "body": [ "SQL:FREE(RECH${TM_SELECTED_TEXT/(.*)/${1:/upcase}/:${1}})" ], "description": "Generate SQL FREE with uppercase selected text or cursor position" }
效果验证:
- 选中文本
house:插入后输出SQL:FREE(RECHHOUSE) - 无选中文本:插入后输出
SQL:FREE(RECH),光标自动停在RECH后方(括号内)
语法解释
${TM_SELECTED_TEXT/(.*)/${1:/upcase}/}:将选中文本全部转换为大写:${1}:当TM_SELECTED_TEXT为空时,使用${1}作为默认值(即光标位置)
内容的提问来源于stack exchange,提问作者floreal
相关产品推荐
相关产品推荐

