我想使用一个代码段来转换‘’设置为“_”。我要将此代码段绑定到快捷键。
我将以下内容包含到keybindings.json文件中。
//keybindings.json
//Snippet-1
{
"key": "alt+u",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": "${1/[.]/_/g}",
},
},按alt+u键不会插入代码段。
但是,以下方法可以正常工作:
//keybindings.json
// Snippet-2
{
"key": "alt+u",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": "${1/[.]/_/g}_more_text",
},
},当代码段中有一些文本时,它可以工作,但当代码段中没有文本时,它会失败。
任何帮助都将不胜感激。
编辑2020/09/03:
此代码段在全局代码段文件中工作(如下所示)。只有当我在键绑定中使用它时,它才会失败。
//Snippet-3
"snake_case": {
"prefix": "sn",
"body":"${1/[.]/_/g}"
},发布于 2020-09-03 03:28:36
通常,在带括号的交替组中,您不需要转义文字点,但显然您需要在代码片段中转义。Vscode的文档,请参阅transform examples。所以我试着:
"snippet": "${1/[\\.]/_/g}"它的工作方式和你所期望的一样。但我仍然认为这里有一个bug,因为只需添加一个空格就可以使您的版本工作!
https://stackoverflow.com/questions/63705964
复制相似问题