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

如何在代码片段中实现带子选项的扩展制表位?

VS Code代码片段实现条件子选项方案

你需要的是基于父选项选择结果动态触发子选项的代码片段,普通嵌套选项无法实现,可通过VS Code支持的正则替换插值语法达成需求,以下是可行代码:

"Basic Furniture": {
    "prefix": "!bfurniture",
    "description": "Basic Furniture Template",
    "scope": "json",
    "body": [
        "{",
        "  \"id\": $1,",
        "  \"props\": [",
        "    \"${2|nothing,chair,all|}\"${2/(chair)/, \"${3|wooden,plastic|}\"/}",
        "  ],",
        "  \"description\": [",
        "    \"${0:...}\"",
        "  ]",
        "}"
    ]
}

实现逻辑说明

  • 选择$2的父选项时,正则${2/(chair)/, "${3|wooden,plastic|}"/}会做判断:
    • 若选chair,自动插入, "${3|wooden,plastic|}",同时光标跳转到$3选择子选项
    • 若选nothing或all,替换部分为空,光标直接跳转至$0的描述输入位
  • 光标跳转顺序:$1(填写id)→ $2(选父选项)→ 选chair则到$3(选子选项)→ 最终到$0

验证效果

  1. 输入!bfurniture触发片段,先填写id
  2. 选nothing:直接进入description输入框
  3. 选chair:立刻弹出wooden/plastic选项,选完后进入description输入框

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 08:40:13