VSCode悬浮提示无默认快捷键,需手动绑定精确命令ID editor.action.showHover;通过命令面板输入“Show Hover”并右键复制JSON绑定,再检查when条件、插件劫持或系统/输入法拦截导致的失效。

VSCode 悬浮提示(Hover)没有默认快捷键,必须手动绑定 editor.action.showHover 才能用按键触发——不是改不了,是它压根没出厂配置。
怎么确认并绑定正确的悬停命令?
别搜“悬浮”“提示”“tooltip”这类词,VSCode 只认精确命令 ID:editor.action.showHover,大小写敏感,漏一个字母或空格都不行。
- 打开命令面板:
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS) - 输入
Show Hover,找到那条命令,把鼠标悬停在上面——右下角会显示完整 ID - 右键该条目 → “将键绑定复制为 JSON”,粘贴出来就是可直接用的格式
为什么绑了快捷键却没反应?
不是 JSON 写错了,而是以下三类情况之一挡住了信号:
-
when条件不满足:比如你加了"when": "editorTextFocus",但在终端、设置页或搜索框里按,VSCode 直接静默忽略,不报错也不提示 - 插件劫持:GitLens、Vim 等扩展自带大量绑定,且优先级高于用户配置;在
Ctrl+K Ctrl+S里搜你的组合键,看“来源”列是不是Extension - 系统或输入法拦截:
搜狗拼音、Raycast、Logitech Options常偷偷吞掉Ctrl+K Ctrl+I这类组合;先退出它们,在记事本里测一遍该组合是否被系统吃掉,再进 VSCode 排查
推荐的 keybindings.json 配置写法
所有自定义快捷键必须写进 keybindings.json 文件才真正生效,GUI 界面只展示,不控制逻辑。打开方式只能是命令面板输入 Preferences: Open Keyboard Shortcuts (JSON)。
- 全局可用(编辑器/终端/调试控制台都生效):
{"key": "ctrl+k ctrl+i", "command": "editor.action.showHover"}—— 不加when最简单可靠 - 仅限编辑器内生效(防误触):
{"key": "ctrl+shift+h", "command": "editor.action.showHover", "when": "editorTextFocus"} - 禁用默认绑定(释放组合键):
{"key": "ctrl+k ctrl+i", "command": "-editor.action.showHover"}—— 注意负号紧挨着命令名,不能有空格
容易被忽略的细节
键盘布局会影响实际识别结果:德语/日语等非美式键盘下,Ctrl+; 常被识别成 Ctrl+:;输入法中英文切换热键(如 Windows 的 Ctrl+Space 或 Ctrl+Shift)也可能干扰邻近组合;这些都不是 VSCode 的 bug,而是底层事件 dispatch 层级的问题——先确认系统层是否收到键,再谈 VSCode 配置有没有效。


















