如何替换 Visual Studio 代码片段中的变量?
How to replace a variable in a snippet in Visual Studio Code?
我使用 javascript 带键绑定的片段。
我有以下代码:
{
"key": "alt+c",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": " const $TM_CURRENT_WORD = "
}
},
如果我输入 box
然后按 alt+c,我得到...
box const box =
但我预计
const box =
我怎样才能做到这一点?
代码段将始终在触发代码段时光标所在的任何位置插入文本 - 这就是您看到所获得行为的原因。如果该词是第一个 selected,则插入将像正常情况一样替换该词。
最简单的方法就是 select box
文本,然后 alt+c 然后你会得到你的结果。但是有了 selecting 的额外步骤。
这里还有一个宏解决方案。
使用像 multi-command 这样的宏扩展,将其放入您的 settings.json:
"multiCommand.commands": [
{
"command": "multiCommand.insertConst", // whatever name you want to give it
"sequence": [
"cursorWordLeftSelect",
{
"command": "editor.action.insertSnippet",
"args": {
"snippet": "const $TM_SELECTED_TEXT = "
}
}
]
}
]
和一些键绑定:
{
"key": "alt+c",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.insertConst" }, // use same name here
"when": "editorTextFocus"
},
或者您可以只修改您的代码片段,这样您就不必先键入变量名称。您将触发该代码段,然后键入变量名称 tab,然后键入它的值,如下所示:
{
"key": "alt+c",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": " const = "
}
},
我使用 javascript 带键绑定的片段。
我有以下代码:
{
"key": "alt+c",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": " const $TM_CURRENT_WORD = "
}
},
如果我输入 box
然后按 alt+c,我得到...
box const box =
但我预计
const box =
我怎样才能做到这一点?
代码段将始终在触发代码段时光标所在的任何位置插入文本 - 这就是您看到所获得行为的原因。如果该词是第一个 selected,则插入将像正常情况一样替换该词。
最简单的方法就是 select box
文本,然后 alt+c 然后你会得到你的结果。但是有了 selecting 的额外步骤。
这里还有一个宏解决方案。
使用像 multi-command 这样的宏扩展,将其放入您的 settings.json:
"multiCommand.commands": [
{
"command": "multiCommand.insertConst", // whatever name you want to give it
"sequence": [
"cursorWordLeftSelect",
{
"command": "editor.action.insertSnippet",
"args": {
"snippet": "const $TM_SELECTED_TEXT = "
}
}
]
}
]
和一些键绑定:
{
"key": "alt+c",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.insertConst" }, // use same name here
"when": "editorTextFocus"
},
或者您可以只修改您的代码片段,这样您就不必先键入变量名称。您将触发该代码段,然后键入变量名称 tab,然后键入它的值,如下所示:
{
"key": "alt+c",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": " const = "
}
},