悬停只显示function add()而非参数说明,是因为LSP未解析出完整语义信息:TS/JS缺配置文件、Python语言模式错误、JSDoc/docstring格式不规范、光标位置不准或AI插件劫持,修改后需保存并等待LSP初始化完成。

悬浮提示内容显示不全,不是设置没开,而是语言服务没加载、注释格式不规范或被插件劫持——这三类原因占了 95% 以上的实际案例。
为什么悬停只显示 function add() 而不是参数说明
VSCode 的 hover 提示依赖语言服务器(LSP)提供语义信息,不是单纯靠文本解析。如果只看到函数签名而没有文档,说明 LSP 没拿到完整上下文。
- TS/JS 项目缺少
jsconfig.json或tsconfig.json——哪怕空文件也得有,否则类型推导不启动 - Python 文件右下角显示的是
Plain Text而非Python,Pylance 根本不介入 - JSDoc 或 docstring 没紧贴函数定义:中间隔了空行,或用了
//单行注释而非/** */ - Python 的 docstring 风格不被 Pylance 认可,比如没写
Args:或Returns:字段
Ctrl+K Ctrl+I 没反应?先确认光标位置和 LSP 状态
这个快捷键不是“全局触发”,它只对当前 token 生效。
- 光标必须落在标识符内部(比如
fetch的f或t上),不能停在括号、空格或分号后 - 状态栏右下角出现
Language Server ready或图标停止旋转前,按了也白按 - 项目刚打开时等 3–5 秒再试;大型 monorepo 可能要更久
- 禁用所有 AI 插件(Copilot、Sesame AI 等)测试——它们常静默覆盖原生 hover,且不报错
如何屏蔽 MDN 链接但保留 JSDoc 和类型提示
别关 editor.hover.enabled,那会连变量值预览都干掉。精准压制 Web API 链接只需两步:
- 在设置中搜
html.suggest.html5,设为false - 再搜
css.mdnsuggest,同样设为false - 执行
Developer: Reload Window生效(不是简单重启编辑器)
改完之后,在 document.getElementById 上悬停,不再跳 MDN,但你写的 @param 和返回类型依然清晰可见。
修改了 JSDoc 或 docstring 后提示没更新
hover 提示内容不会自动刷新——这是最常被忽略的一点。
- 必须保存文件,VSCode 才会重新解析并更新提示
- 如果刚改完注释就悬停,大概率还是旧内容
- Fitten Code 插件还额外要求重启 VS Code 才生效(
fittenCode.showFullTooltip改动后)
真正卡住的往往不是配置,而是缓存和时机:LSP 加载中、文件未保存、AI 插件抢注、注释格式差一个空格——这些细节比调字体大小或写 CSS 更影响实际体验。











