悬停提示唯一有效命令是 editor.action.showHover,大小写及前缀必须精确;when 条件不匹配、输入法/插件劫持、键盘布局差异是快捷键失效主因;推荐直接编辑 keybindings.json 并优先排查系统级拦截。

悬停提示的命令名必须是 editor.action.showHover
VSCode 没有“悬浮提示快捷键”这个设置项,只有 editor.action.showHover 这一个命令能触发原生悬停行为——它和鼠标悬停完全等效,显示类型、JSDoc、返回值预览等全部内容。网上搜到的 showHover、hover 或 triggerHover 全都不认,大小写错一个字母或漏掉 editor.action. 前缀,绑定就静默失效。
快捷键没反应?先确认 when 条件是否匹配
即使命令写对了,按了也没反应,大概率是 when 条件拦住了。VSCode 不报错、不提示,只默默忽略:
-
"when": "editorTextFocus"—— 光标必须在可编辑的代码文件里;终端、设置页、搜索框中按无效 - 没写
when字段,默认全局生效(编辑器、终端、调试控制台都响应),但容易误触 - 想只在 Python 文件里生效?用
"when": "editorTextFocus && resourceExtname == '.py'",别只写editorLangId == 'python',语言模式未激活时它不成立
绑定后仍不生效?系统/输入法/插件可能在劫持组合键
三个高频拦截源,比重配 JSON 更快见效:
- 搜狗拼音、QQ输入法、Raycast、Logitech Options 等常吞掉
ctrl+k ctrl+i类组合;退出它们再试一次 - 德语/法语键盘布局下,
ctrl+;可能被识别为ctrl+:,VSCode 收不到原始按键 - 某些 AI 插件(如 Copilot、Sesame)会覆盖
editor.action.showHover的实现,禁用后测试可快速定位
推荐的可靠绑定方式(含防冲突设计)
直接编辑 keybindings.json 最可控,路径是:%APPDATA%\Code\User\keybindings.json(Win)、~/Library/Application Support/Code/User/keybindings.json(macOS)、~/.config/Code/User/keybindings.json(Linux):
- 全局可用(最简):
{"key": "ctrl+k ctrl+i", "command": "editor.action.showHover"} - 仅限编辑器内(防误触):
{"key": "ctrl+shift+h", "command": "editor.action.showHover", "when": "editorTextFocus"} - 禁用默认绑定(避免冲突):
{"key": "ctrl+k ctrl+i", "command": "-editor.action.showHover"}—— 注意前面的负号
真正难的不是写对这一行 JSON,而是确保你按下那一刻,操作系统把组合键完整交给了 VSCode。先在记事本里测键是否被吃掉,再进编辑器排查,能省一半时间。


















