You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode自定义C++代码片段 根据变量声明自动生成getter/setter

问题原因

你代码片段中写的${1:/downcase}属于错误的语法,VS Code 代码片段的大小写转换必须使用完整的正则匹配转换结构,不能直接在占位符后加/downcase后缀实现转小写。

触发式生成代码片段修复方案

修改后的代码片段支持任意基础数据类型,转小写逻辑可正常生效,同时修复了原代码中getter函数缺右大括号的语法问题:

"C++ 变量生成getter setter": {
    "prefix": "intsetget",
    "body": [
        "${2:int} ${1:VARNM};",
        "$2 ${1/(.*)/${1:/downcase}/g}(){return ${1};}",
        "void ${1/(.*)/${1:/downcase}/g}($2 val){${1} = val;}"
    ],
    "description": "生成全大写变量对应的小写命名getter、setter函数"
}

使用说明:输入触发词intsetget后,第一个光标位置输入全大写变量名,按Tab跳转后可修改默认的int类型为double、char等任意基础类型,再次按Tab即可完成生成。

选中现有变量行直接生成方案

如果需要选中已经写好的变量声明行(比如int INTVAR;)一键替换成目标代码,可以使用以下代码片段,适配任意单单词基础类型的变量:

"C++ 选中变量生成getter setter": {
    "prefix": "cppgetsetselect",
    "body": [
        "$TM_SELECTED_TEXT",
        "${TM_SELECTED_TEXT/^(\\w+)\\s+(\\w+);$/$1 ${2:/downcase}/g}() { return ${TM_SELECTED_TEXT/^(\\w+)\\s+(\\w+);$/$2/g}; }",
        "void ${TM_SELECTED_TEXT/^(\\w+)\\s+(\\w+);$/${2:/downcase}/g}(${TM_SELECTED_TEXT/^(\\w+)\\s+(\\w+);$/$1/g} val) { ${TM_SELECTED_TEXT/^(\\w+)\\s+(\\w+);$/$2/g} = val; }"
    ],
    "description": "选中已写好的变量声明行生成对应getter、setter"
}

使用说明:可以为该片段绑定自定义快捷键,选中变量行后按下快捷键即可直接生成目标代码。

内容的提问来源于stack exchange,提问作者Tryer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:39:03