问题描述
我需要创建一个执行以下操作的快捷方式:
我想在 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\\}\\}",}
}
,
只需将其设置为插入片段的键绑定即可。然后您可以使用 $TM_SELECTED_TEXT
之类的变量。
{
"key": "ctrl+r","command": "editor.action.insertSnippet","args": {
"snippet": "{\\color{red}${TM_SELECTED_TEXT}}"
},"when": "editorTextFocus"
}
选择您的文本(Ctrl+D 或双击它),然后触发上面的键绑定。
您可以使用命令 type
,但您需要在宏中使用它两次:一次在关键字之前,一次在关键字之后,因此使用 insertSnippet
版本更容易。