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\\}enter image description here\\}",}
  }
,

只需将其设置为插入片段的键绑定即可。然后您可以使用 $TM_SELECTED_TEXT 之类的变量。

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

选择您的文本(Ctrl+D 或双击它),然后触发上面的键绑定。

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