Visual Studio Code JS 代码段转义大括号

Fri*_*oyd 2 javascript escaping curly-braces visual-studio code-snippets

我想在 Visual Studio Code 中为 Javascript 创建一个片段,其中包含一个包含大括号的占位符,但 Visual Studio 似乎没有跟踪括号嵌套。

我的代码片段看起来像这样:

"MySnippet": {
    "prefix": "snippet",
    "body": [
        "OuterFunction(() => {",
        "   //code",
        "   ${1:InnerFunction(() =>{",
        "       $2",
        "   },timeout);}",
        "});"
    ],
    "description": "create a thing"
}
Run Code Online (Sandbox Code Playgroud)

我希望这个输出:

OuterFunction(() => {
       //code
       InnerFunction(() => {

       },timeout);
    });
Run Code Online (Sandbox Code Playgroud)

使用 setTimeout 语法作为占位符。

相反,我得到了这个:

OuterFunction(() => {
   //code
   InnerFunction(() => {

   ,timeout)};
});
Run Code Online (Sandbox Code Playgroud)

这显然不起作用。

我试过像这样\{和这样转义大括号,{{但它似乎不起作用。有没有一种简单的方法可以做到这一点,或者我是否只需要为外部和内部功能使用两个单独的片段?

Arg*_*g0n 5

这可以工作吗?:

"MySnippet": {
    "prefix": "snippet",
    "body": [
        "OuterFunction(() => {",
        "   //code",
        "   ${1:InnerFunction(() => { $2 \\}, timeout);}",
        "});"
    ],
    "description": "create a thing"
}
Run Code Online (Sandbox Code Playgroud)

产生:

OuterFunction(() => {
   //code
   InnerFunction(() => {  }, timeout);
});
Run Code Online (Sandbox Code Playgroud)

InnerFunction(() => { }, timeout);选择where ,然后在 Tab 之后在括号内。