VSCode悬浮提示不显示主因是语言服务未加载或光标位置错误:光标须紧贴有效符号(如函数名字母),文件需正确语言模式(非Plain Text)、已保存且含必要配置文件(如tsconfig.json),并排除AI插件劫持及注释格式不规范等问题。

VSCode 悬浮提示不显示,90% 不是设置关了,而是语言服务压根没加载成功或光标停错了位置。
光标是否落在有效符号上
悬浮提示只对有语义的 token 生效,不是悬停 anywhere 都弹。常见失效点:
- 光标停在括号
(、逗号,、空格或注释行里 —— 必须紧贴函数名/变量名的某个字母(比如fetch的f或h) - 文件右下角显示
Plain Text而非JavaScript、TypeScript等 —— 此时所有 LSP 功能静默失效 - 未保存的临时文件(如
Untitled-1)不会激活语言模式,先Ctrl+S保存为.ts或.py再试
语言服务是否真正就绪
即使设置全开,LSP 启动失败也会导致悬浮空白。验证和修复方法:
- 打开开发者工具(
Ctrl+Shift+P→Developer: Toggle Developer Tools),切到 Console,搜tsserver或Pylance报错 - TS/JS 项目必须有
tsconfig.json或jsconfig.json(哪怕空文件也行),否则类型推导不完整 - Python 项目确认已安装
Pylance扩展(不是仅装Python扩展),且右下角语言模式是Python - 首次打开大型项目时等 3–5 秒,看状态栏右下角是否有
Loading...或Language Server ready
被插件或配置意外覆盖
某些扩展会劫持 hover 行为却不报错,尤其 AI 类插件:
- 用
code --disable-extensions启动 VSCode,测试原生环境是否恢复提示 - 重点禁用:GitHub Copilot、Sesame AI、Tabnine、Auto Import —— 它们常拦截并替换原生 hover
- 检查
.vscode/settings.json是否写了"editor.hover.enabled": false,这个会覆盖全局设置 -
html.suggest.html5和css.mdnsuggest关掉可屏蔽 MDN 链接,但保留 JSDoc 和类型说明
注释格式是否被语言服务器识别
悬浮内容来自 JSDoc / docstring 解析,格式不对就只显示 any 或空白:
- JS/TS 必须用
/** */块注释,且紧贴函数声明(中间不能有空行) - Python docstring 需含标准字段,如
Args:、Returns:,Pylance 才提取参数说明 - 修改完注释后必须保存文件,VSCode 不会实时重解析未保存的变更
- 第三方库无提示?运行
npm install --save-dev @types/lodash补全.d.ts
最常被忽略的是:hover 提示不刷新——改了 JSDoc 或 docstring,不保存,它就永远不更新。











