Вы не можете поместить табуляцию или другую переменную внутри замещающей части преобразования.
Вам нужно использовать другой подход, если вы хотите, чтобы каждый блок if / else содержал свою переменную, например:
if (myVar == ) {
} else if (myVar == a) {
} else if (myVar == b) {
} else if (myVar == c) {
} else if (myVar == d) {
} else {
}
Вы должны сначала перечислить эти переменные, прежде чем генерировать друг друга, если блок. Попробуйте этот фрагмент:
"long if-else": {
"scope": "javascript,typescript,html",
"prefix": "ie",
"body": [
"if (myVar = $2) {\n",
"${1/(\\w+)(,\\s*|\\b)/} else if (myVar = $1) {${2:?\n\n:\n}/g}",
"} else {",
"",
"}",
"$3"
]
},
Вот демонстрация, чтобы увидеть, как вы вводите переменные:
![enter image description here](https://i.stack.imgur.com/Eh2vt.gif)
Вы введите каждый из myVar в виде списка через запятую, а затем Tab . Он не обрабатывает нулевой случай, хотя без каких-либо дополнительных сложностей.