Visual Studio Code JS Snippet转义大括号

时间:2017-03-23 08:47:54

标签: javascript visual-studio escaping code-snippets curly-braces

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

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

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

我期待这个输出:

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

       },timeout);
    });

使用setTimeout语法作为占位符。

相反,我得到了这个:

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

   ,timeout)};
});

显然不起作用。

我已尝试转义像\{{{这样的大括号,但它似乎无法正常工作。有没有一种简单的方法可以做到这一点,或者我只需要使用两个单独的片段作为外部和内部函数?

1 个答案:

答案 0 :(得分:1)

这可行吗?:

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

产地:

OuterFunction(() => {
   //code
   InnerFunction(() => {  }, timeout);
});

选择InnerFunction(() => { }, timeout);的地方,然后在标签后的括号内。