如何在片段中添加“扩展”制表位?

问题描述 投票:0回答:1

我正在尝试制作一个包含多个选项的片段,我只需要其中一个选项即可在选择它后获得一个选项子集。

例如:

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

在这里,我想要它,这样如果我选择

nothing
,那么它将继续到下一个制表位(例如
$0
},但如果我选择
chair
,那么它将打开另一个选择,例如
${3|wooden,plastic|}
,然后才继续转到下一个选项卡 (
$0
)。

关于如何实现这一目标有什么想法吗?

我尝试使用文档所示的嵌套制表符,但它们的功能不同。 我还尝试在

$2
选择制表符中嵌套另一个选择制表符,但只导致
$2
变成纯文本,而
$3
将成为唯一的选择制表符。

(例如

${2|nothing,chair ${3|wooden,plastic|},all|}

vscode-extensions code-snippets tabstop
1个回答
0
投票

您可以构建您的 anippet 以包含所有潜在选项,然后在插入后手动导航到并编辑相关部分。

例如:

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

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.