我似乎找不到一个可以从VSCode键绑定运行的文档化命令的完整列表。
在在线VSCode文档上,Commands Guide列出了两种发现命令的方式:
找到的用于键盘快捷键的命令通常是不带参数的“简单”命令。 “高级命令api”似乎缺少一些非常基本的基本命令。
例如,在VSCode Keybindings页面上,有一个名为“命令参数”的节,其中包含以下示例条目:
{ "key": "enter", "command": "type",
"args": { "text": "Hello World" },
"when": "editorTextFocus" }
但是我没有看到type
命令记录的任何地方。因此,我认为可能还存在其他类似的基本命令,但是我不知道在哪里可以找到它们的文档。
无论如何,此刻我真正要寻找的是一个命令,我可以运行该命令在当前编辑器中进行预定义的搜索和替换,指定查找文本,替换文本和选项...类似下方:
{ "key": "ctrl+shift+8",
"command": "findReplaceAll",
"args": {
"findText": "Company(\\w+)",
"replaceText": "User$1"
"options": { "ignoreCase": false, "wholeWord": true, "regex": true }
},
"when": "editorTextFocus" }
但是我无法在文档中找到任何这样的findReplaceAll
命令或类似内容,但是可以肯定存在这样的东西,对吧?
谢谢!
答案 0 :(得分:1)
有一个内置的方法可以执行此操作,我不知道是否在您的问题后添加了参数。无论如何,我都同意有时很难发现哪些命令可以接受参数。
有时,命令中的键绑定中的智能感知将使它们浮出水面,但并非总是如此。
所以检查一下:
{
"key": "ctrl+shift+f",
"command": "workbench.action.findInFiles",
"args": {
<cursor here> // cursor there and type Ctrl+space
}
}
将显示可用的args
,如下例所示。
{
"key": "ctrl+shift+f",
"command": "workbench.action.findInFiles",
"args": {
"query": "Company(\\w+)", // needs to be double-escaped
"replace": "User$1",
"triggerSearch": true,
"isRegex": true,
// "filesToExclude": "",
// "filesToInclude": "",
"matchWholeWord": true,
"isCaseSensitive": true
}
},
这将执行搜索,但不会对文件进行实际替换-您必须自己触发replace [all]
。
答案 1 :(得分:0)
安装扩展名Replace Rules。
在settings.json
(工作区或用户)中构建搜索替换。阅读有关可能性的页面。
"replacerules.rules": {
"Replace User": {
"find": "User(\d+)",
"replace": "Player$1"
}
}
在keybindings.json
中定义以下按键绑定:
{
"key": "ctrl+shift+alt+u",
"command": "replacerules.runRule",
"when": "editorTextFocus",
"args": { "ruleName": "Replace User"}
}
如果您选择一些文本,则搜索替换将仅在所选内容内执行。