vscode中排查插件快捷键应直接在快捷键面板(ctrl+k ctrl+s)搜索插件名或命令前缀,如vim、prettier、eslint等,可列出其全部绑定;标红的“conflicts with”提示关键冲突,悬停可见when条件限制,真实生效绑定以该面板为准。

直接在快捷键面板里搜插件名或命令前缀
VSCode 不提供「按插件分组查看快捷键」的界面,但所有插件注册的命令都会进入全局快捷键系统。想确认某个插件(比如 Vim、Prettier、ESLint)绑定了哪些快捷键,最可靠的方式是打开快捷键面板后,用插件相关的关键词搜索。
例如:
-
Vim插件的命令大多以extension.vim.开头,搜vim或extension.vim就能列出它注册的全部快捷键(如extension.vim.escape、extension.vim.mode) -
Prettier的命令通常是prettier.*,搜prettier可看到prettier.formatDocument等绑定 -
ESLint常见命令前缀是eslint.,搜eslint能定位到修复、禁用规则等快捷键
注意:搜索结果里标红的 Conflicts with 很关键——很多插件默认不设快捷键,但一旦你或别人手动绑了相同组合,冲突就会在这里暴露出来。
查不到?说明插件没主动绑定快捷键
不是所有插件都会预设快捷键。比如 GitLens 提供大量命令,但默认一个快捷键都不设;Remote - SSH 也只在连接成功后才动态注册部分命令。
这时你需要:
- 先打开命令面板
Ctrl+Shift+P(macOS 是Cmd+Shift+P),输入插件名或功能关键词(如gitlens blame),看对应命令是否存在 - 如果命令存在但没快捷键,说明它只支持通过命令面板触发——你可以右键该命令 →
Change Keybinding手动加上 - 有些插件(如
Vim)会接管原生快捷键(比如Esc、j/k),这类行为不会出现在快捷键面板里,因为它不是「绑定」而是「拦截」,得看插件文档或settings.json中的vim.*配置项
插件快捷键被覆盖或失效的常见原因
即使插件声明了快捷键,你也可能按不出效果。核心排查点就两个:when 条件和焦点状态。
在快捷键面板里悬停某条记录,能看到类似这样的条件:
-
editorTextFocus && vim.mode == 'Normal'—— 表示只有编辑器有焦点且 Vim 处于 Normal 模式才生效 -
resourceScheme == 'file'—— 排除了远程文件、设置页、扩展页等场景 -
!terminalFocus—— 终端获得焦点时自动禁用
如果你在终端里按 Ctrl+Shift+P 想调出命令面板却失败,很可能是因为当前焦点在终端,而该快捷键的 when 条件里写了 !terminalFocus。这时候换到编辑器再试,或者改它的 when(不推荐,易引发副作用)。
别依赖插件自带的快捷键文档
很多插件 README 里写的快捷键是「默认建议值」,不是你机器上实际生效的值。尤其当多个插件都试图绑定 Ctrl+Alt+K 这类冷门组合时,最终谁生效取决于加载顺序和冲突处理逻辑。
真正可信的来源只有一个:Ctrl+K Ctrl+S(macOS:Cmd+K Cmd+S)打开的实时面板。它显示的是当前工作区、当前已启用扩展、当前配置下**真实生效**的全部绑定——包括被禁用的、冲突的、带上下文条件的。
记住:插件作者没法预测你装了什么别的扩展,也没法知道你是否改过 keybindings.json。一切以这个面板为准,其他都是参考。











