一个 VSCode 片段可以进行三个替换吗?

Can a VSCode snippet make three substitutions?

我写了一个 VSCode 片段,对剪贴板内容进行了两次替换。 例如,此代码段将 "a" 个字符更改为 "x",将 "e" 个字符更改为 "y"

    "t2": {
        "prefix": "t2",
        "body": [
            "${CLIPBOARD/(a)|(e)/${1:?x:y}/g}"
        ],
        "description": "Makes two substitutions to the clipboard"
    },

使用此代码段,如果我剪切文本 "This snippet changes the clipboard" 并执行该代码段,则粘贴的文本为 "This snippyt chxngys thy clipboxrd"。 我的问题是:是否可以创建一个应用三个替换的片段?比如上例中"a"变成"x","e"变成"y","i"变成"z",得到"Thzs snzppyt chxngys thy clzpboxrd"。

是的,你想改多少就改多少。我为另一个答案做了这个片段:

"color conditional": {
    "prefix": "_hex",
    "body": [

      "let color = ';",      
      "let hex = '${1/(white)|(black)|(red)/${1:+#fff}${2:+#000}${3:+#f00}/}';" //works      
    ],
    "description": "conditional color"
  },

举一个例子,但在你的情况下试试:

"${CLIPBOARD/(a)|(e)|(i)/${1:+x}${2:+y}${3:+z}/g}"

您可以使用任意数量的 if 而不是使用 if/else 条件。