如何在Visual Studio代码中替换代码段中的变量?

问题描述 投票:0回答:1

我使用具有绑定功能的javascript代码段。

我在下面有此代码:

    {
        "key": "alt+c", 
        "command": "editor.action.insertSnippet",
        "when": "editorTextFocus",
        "args": {
            "snippet": " const $TM_CURRENT_WORD = $1"
        }
    },

如果我键入box,然后按alt + c,我得到...

box const box = 

但是我期望

const box =

我该如何实现?

visual-studio-code code-snippets vscode-snippets
1个回答
0
投票
摘录被触发时,摘录始终会在光标所在的位置插入文本,这就是为什么您看到自己的行为的原因。如果首先选择了该词,则插入将替换该词,如通常一样。


最简单的方法是先选择box文本,然后选择

alt + c,您将得到结果。但是需要额外的选择步骤。


这里也是宏解决方案。

使用像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 = $1" } } ] } ]

和一些绑定:

{ "key": "alt+c", "command": "multiCommand.insertConst", // use same name here "when": "editorTextFocus", }


或者您可以只修改代码段,这样您就不必先输入变量名。您将触发代码段,然后键入变量名称

tab

,然后键入其值,如下所示:{ "key": "alt+c", "command": "editor.action.insertSnippet", "when": "editorTextFocus", "args": { "snippet": " const $1 = $2" } },
© www.soinside.com 2019 - 2024. All rights reserved.