vscode悬停提示由语言服务解析代码并结合jsdoc/docstring注释生成,需正确配置语言模式、项目配置(如jsconfig.json/tsconfig.json)及扩展(如pylance),禁用html.suggest.html5和css.mdnsuggest可屏蔽mdn链接而不影响其他提示。

VSCode 里悬停看到的函数文档,不是“随便弹出来的”,而是由语言服务 + 注释 + 扩展三者共同决定的;MDN 链接只是 HTML/CSS 文件里的默认行为,关它不等于关掉 JS/Python 的类型提示。
怎么让悬停显示 JSDoc 或 docstring 而不是 MDN
你写 add 函数时想看到自己写的参数说明,而不是跳转到 MDN 页面——关键不在关不关 editor.hover,而在让 VSCode “认出这是可解析的代码”。
- JavaScript/TypeScript:必须用标准
/** */包裹 JSDoc,且注释紧贴函数定义上方,不能隔空行 - Python:需安装
Pylance(非 Python 官方扩展),并使用 Google/NumPy 风格 docstring,例如"""Args:x (int): ...""" - HTML/CSS 文件中出现 MDN 提示,是因为内置的
html.suggest.html5和css.mdnsuggest默认开启,关掉它们比关全局 hover 更精准
为什么悬停没反应?常见断点位置
光有注释还不够,语言服务没起来,hover 就是空的。几个最常卡住的地方:
- 文件右下角语言模式显示为
Plain Text或Unknown→ 点击它,手动选JavaScript、Python等 - TS/JS 项目缺少
jsconfig.json或tsconfig.json→ 没配置就无法推导类型,hover 只能显示基础签名 - 终端里跑
help(print)能看到完整参数,但 VSCode 悬停只显示print(*objects, ...)→ 这说明 Pylance 没加载成功,检查 Developer Tools Console 里有没有Failed to start language server
如何临时禁用 MDN 链接但保留其他 hover 内容
不想彻底关 editor.hover(否则 JS 类型、变量值预览也没了),可以单独压制 HTML/CSS 的 MDN 行为:
- 打开设置,搜索
html.suggest.html5→ 设为false - 再搜
css.mdnsuggest→ 同样设为false - 重启编辑器或重载窗口(
Developer: Reload Window),之后在<div> 上悬停,不会再弹 MDN,但 JS 函数的 JSDoc 依然可见<p>真正容易被忽略的是:某些 AI 编程插件(比如 GitHub Copilot 或新装的 Sesame AI)会劫持 hover 事件,用自己的面板覆盖原生提示。如果改完所有设置 still 弹出奇怪内容,先禁用这些插件试试。</p> </div>











