0

我想在Visual Studio代碼中創建一個Javascript代碼片段,其中包含大括號的佔位符,但Visual Studio似乎沒有跟蹤支架嵌套。Visual Studio代碼JS片段轉義大括號

我的片段看起來是這樣的:

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

,我希望這樣的輸出:

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

     },timeout); 
    }); 

與setTimeout的語法的佔位符。

相反,我得到這個:

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

    ,timeout)}; 
}); 

這顯然是行不通的。

我已經嘗試轉義像這樣的\{和這個{{大括號,但它似乎並沒有工作。有沒有一個簡單的方法來做到這一點,或者我只需要用兩個單獨的片段來實現外部和內部功能?

回答

0

莫非這部作品?:

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

產地:

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

當選擇InnerFunction(() => { }, timeout);,然後按Tab鍵後的括號內。

+0

這產生工作代碼,但只有內部函數的名稱被選爲佔位符。我的目標是選擇3-5行的整個代碼塊。 –

+0

查看更新後的答案,似乎可以在一行中使用'\\}'完成。 – Arg0n

+0

這很好,非常感謝你! –