关闭 vscode 悬停提示最直接方式是设置 "editor.hover.enabled": false;可按语言单独配置,如 "[typescript]": { "editor.hover.enabled": false };若仅需降低干扰,可调高 editor.hover.delay 至 800~1200 毫秒;仍有提示则需排查扩展干扰。

如何关闭 VSCode 的悬停提示(Hover)
VSCode 默认开启的 hover 提示(鼠标悬停显示类型、文档、参数等)在快速编码时确实容易遮挡视线,尤其写 JSX、长链式调用或使用 TypeScript 类型推导频繁的项目时。最直接有效的关闭方式是禁用 editor.hover.enabled 设置。
- 按
Ctrl+,(Windows/Linux)或Cmd+,(macOS)打开设置界面 - 搜索
editor.hover.enabled,取消勾选对应选项 - 或手动编辑
settings.json,添加:"editor.hover.enabled": false
该设置全局生效,重启编辑器非必需,修改后立即生效。
只禁用特定语言的 hover(比如 TypeScript 或 Python)
全关 hover 有时会损失有用信息,比如想保留 Python 的 docstring 提示,但屏蔽 TS 的冗长类型悬停。VSCode 支持按语言单独配置 hover 行为。
- 在
settings.json中使用语言专属设置块:"[typescript]": { "editor.hover.enabled": false },<br>"[python]": { "editor.hover.enabled": true } - 注意:语言 ID 必须准确,可通过命令面板运行
Developer: Inspect Editor Tokens and Scopes查看当前文件的语言 ID(如typescriptreact、markdown) - 语言设置优先级高于全局设置,无需额外重启
hover 延迟太短导致误触发?调高 editor.hover.delay
有些用户不是想完全禁用 hover,而是被它“弹得太快”干扰——比如刚移动光标就弹出框,挡住正在看的代码行。这时改延迟比直接关更合理。
-
editor.hover.delay单位是毫秒,默认值为300 - 建议设为
800~1200,能明显降低误触率,又不牺牲可访问性 - 该设置支持全局和语言级覆盖,例如:
"editor.hover.delay": 1000,<br>"[json]": { "editor.hover.delay": 0 }(JSON 文件里可设为 0,因通常不需要 hover)
为什么关了 hover 还有提示?检查其他扩展干扰
禁用 editor.hover.enabled 后仍有弹窗,大概率是第三方扩展自己实现了 hover 功能,比如 Pylance、IntelliCode、ESLint 插件的错误提示,或 Auto Rename Tag 的标签预览。
- 打开命令面板(
Ctrl+Shift+P),运行Developer: Toggle Developer Tools - 悬停触发提示后,在 Console 中观察是否有来自扩展的 log 或 DOM 节点(如含
pylance-hover类名) - 逐个禁用可疑扩展测试;常见 culprit:
errorLens(内联错误)、Bracket Pair Colorizer(旧版可能注入 hover) - 部分扩展提供独立 hover 开关,例如 Pylance 的
python.analysis.autoSearchPaths不影响 hover,但python.languageServer切换为None可彻底停掉其 hover
hover 看似简单,但实际受编辑器核心设置、语言服务、扩展三方共同控制。真正安静下来,往往得先理清哪一层在“说话”。











