VSCode键盘绑定:命令与命令ID?

时间:2019-06-29 22:22:48

标签: visual-studio-code keyboard-shortcuts key-bindings

据我了解,当放在keyboard shortcuts editor内时,粗体命令表示命令面板中可用的命令,而light命令表示命令ID。准确吗?如果是这样...

命令Insert Snippet可从命令面板获得。这将打开摘录菜单。但是,如果您从键盘快捷键编辑器中搜索此命令,它将显示一个命令ID,该ID与 not 相同。 Insert Snippet命令具有与editor.action.showSnippets命令ID相同的功能。但是,当您搜索此命令ID时,它上面的粗体中不会显示Insert Snippet命令。

这是我到目前为止遇到的唯一一条与我认为粗体/浅色文本含义不一致的命令。我想念什么?

3 个答案:

答案 0 :(得分:0)

也许在没有editor.action.insertSnippet的情况下执行args只是调用editor.action.showSnippets

显示菜单

{
    "key": "ctrl+shift+alt+r",
    "command": "editor.action.insertSnippet",
}

插入摘要

{
    "key": "ctrl+shift+alt+r",
    "command": "editor.action.insertSnippet",
    "args": {
        "snippet": "text"
    }
}
  

编辑:虽然,当您有0个用户定义的代码片段时,键绑定GUI中缺少editor.action.insertSnippet有点奇怪。

答案 1 :(得分:0)

事实证明,我对粗体和浅色命令的理解是准确的。

关于showSnippetsinsertSnippet发生了什么,有两种解释:

  • editor.action.showSnippets是为了兼容而仍然存在的旧命令。
  • 新命令editor.action.insertSnippet未显示,因为它接受参数。接受参数但在带有参数声明的keybindings.json中没有任何规则的命令将不会显示在键盘快捷键UI编辑器中。

找到了herehere的其他信息。

对于那些阅读本文并仍在尝试找出用于显示摘要菜单的命令的用户,答案为editor.action.insertSnippetAs Alex noted,在不使用args的情况下执行editor.action.insertSnippet将显示摘要菜单(与直接插入特定摘要相反)。

答案 2 :(得分:0)

您不必使用VSCode 1.52(2020年11月)搜索在“命令面板”中看到的命令ID

Keyboard Shortcuts editor

在此里程碑中,我们对键盘快捷键编辑器进行了一些改进。

您现在可以在命令面板中为命令配置键盘绑定

Configure keybinding for a command from the Command Palette -- https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_52/configure-keybinding.gif
(主题:GitHub Light

此外,您可以从“键盘快捷键”编辑器向命令添加多个键绑定。

Add multiple keybindings -- https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_52/add-keybinding.png
(主题:GitHub Light