vscode 中突出显示文本的用户定义键盘快捷键

User-defined keyboard shortcut on highlighted text in vscode

我需要创建一个执行以下操作的快捷方式:

我想在 vscode 的编辑器中突出显示文本(例如突出显示 TEXT),并且在触发键盘快捷键时,我需要将其替换为 [\something TEXT]。我该怎么做?

我试过在keybindings.json中加入以下内容,当然不行:

{
    "key": "ctrl+r",
    "command": "type",
    "args":{
    "text":"{\color{red}%TEXT%}"
    },
    "when": "editorTextFocus"
}

您可以使用扩展程序 Regex Text Generator

{
    "key": "ctrl+r",
    "when": "editorTextFocus",
    "command": "regexTextGen.generateText",
    "args": {
      "generatorRegex" : "\{\color\{red\}{{0}}\}",
    }
  }

只需将其设为插入片段的键绑定即可。然后你可以使用像 $TM_SELECTED_TEXT.

这样的变量
{
    "key": "ctrl+r",
   "command":  "editor.action.insertSnippet",
    "args": {
      "snippet": "{\color{red}${TM_SELECTED_TEXT}}"
    },
    "when": "editorTextFocus"
}

Select 你的文本(Ctrl+D 或双击它)然后触发上面的键绑定。

您可以使用命令 type,但您需要在宏中使用它两次:一次在关键字之前,一次在关键字之后,因此只使用 insertSnippet 版本会更容易。