直接设为true可恢复原生悬停,但语言专属配置(如"[typescriptreact]": {"editor.hover.enabled": false})会优先覆盖全局设置;Pylance、Volar等扩展需单独启用并重载窗口。

直接改回 editor.hover.enabled 就能恢复,但要注意语言专属配置的覆盖
只要没删 settings.json 里的相关字段,把 editor.hover.enabled 设为 true 即可立刻启用原生悬停提示。不过如果之前按语言 ID 写过类似 "[typescriptreact]": {"editor.hover.enabled": false} 这样的配置,它会优先于全局设置——也就是说,全局设成 true 后,TSX 文件里依然不显示提示。
常见错误是只改了全局,却忘了检查语言块。建议打开命令面板(Ctrl+Shift+P),运行 Developer: Inspect Editor Tokens and Scopes,看当前文件的 Language ID 是什么,再对应去 settings.json 里找有没有同名块把它锁死了。
editor.parameterHints.enabled 和 colorDecorators.enabled 是独立开关,别混淆
很多人以为“悬浮提示”是一整套,其实输入时弹出的参数面板(比如写 fetch( 后浮出的参数列表)由 editor.parameterHints.enabled 控制;而悬停 #ff0000 弹出的调色板则归 colorDecorators.enabled 管。它们和 editor.hover.enabled 完全无关,启用/禁用互不影响。
- 想只恢复参数面板?开
editor.parameterHints.enabled,不用碰 hover 设置 - 想让颜色预览回来?开
colorDecorators.enabled,哪怕editor.hover.enabled是false也照常工作 - HTML 里的 MDN 链接提示由
html.hover.enabled单独控制,不是editor.hover.enabled的子集
扩展层 hover(如 Pylance、Volar)不会随全局设置自动恢复
Pylance、Volar、Rust Analyzer 这些语言服务器注册的是 LSP 层 hover provider,它们的启用状态不依赖 editor.hover.enabled。即使你把全局设回 true,它们仍可能处于“被手动关掉”的状态。
验证方法:在 Python 文件里悬停一个变量,没提示 → 打开设置搜 pylance,确认 python.languageServer 是 pilance(拼写正确),且没有启用 python.analysis.extraPaths 类可能导致初始化失败的配置;Vue 文件没提示 → 检查 vue.editor.hover.enabled 是否仍为 false,这个值默认是 true,但如果手动关过就得手动开回来。
改完设置后不用重启,但部分扩展需重载窗口才生效
editor.hover.enabled、editor.parameterHints.enabled 这类编辑器原生设置,保存后立即生效,无需任何操作。但像 Pylance、Volar 这类语言扩展,有时需要重载窗口(Ctrl+Shift+P → Developer: Reload Window)才能重新注册 hover provider。
真正容易被忽略的是:如果你之前为防干扰禁用了某些扩展(比如临时关了 Pylance),现在想恢复提示,光开 editor.hover.enabled 没用——得先去扩展视图里把对应扩展启用,再重载窗口。否则 hover 提示永远缺一层来源。











