<p>VSCode悬停只显示function add()是因为语言服务未获取语义信息,主因是JSDoc格式错误:未用/* /包裹、与函数间有空行、文件未识别为JavaScript或缺少jsconfig.json。</p>

直接写标准 JSDoc 注释,VSCode 就能显示——不用装插件、不改设置、不写扩展代码。
为什么悬停只显示 function add() 而不是参数说明
这不是 hover 功能被关了,而是语言服务没拿到语义信息。常见原因:
- 注释用了
//或/* ... */普通注释,而不是紧贴函数上方的/** */JSDoc 块 - JSDoc 和函数定义之间隔了空行(必须紧邻,不能有空行)
- 文件没识别为 JavaScript:右下角显示
Plain Text→ 点击它,手动选JavaScript - 项目根目录缺少
jsconfig.json(哪怕空文件也要有,否则类型推导退化)
/** */ 注释必须怎么写才生效
格式错一个字符,hover 就不认。关键点:
- 必须是
/**开头、*/结尾(不是/*或///) - 必须紧贴函数定义正上方,中间**不能有空行**
-
@param和@returns是可选的,但写了才显示参数/返回值说明 - 支持常见 JSDoc 标签:
@param、@returns、@deprecated、@example
正确示例:
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
立即学习“Java免费学习笔记(深入)”;
/**
* 计算两个数的和
* @param {number} a - 第一个加数
* @param {number} b - 第二个加数
* @returns {number} 两数之和
*/
function add(a, b) {
return a + b;
}想自动插入 JSDoc 模板,别用插件用原生 Snippets
Document This 或 koroFileHeader 容易和类型推断冲突,尤其在大型 TS 项目里。更稳的方式是配 VSCode 原生代码片段:
- 打开命令面板 → 输入
Preferences: Configure User Snippets→ 选javascript.json - 添加 snippet,
prefix设为fn,body写成:[ "/**", " * ${1:描述}", " * @param {${2:type}} ${3:name} - ${4:说明}", " * @returns {${5:type}} ${6:说明}", " */" ] - 保存后,在函数名上输入
fn+Tab,光标会依次停在描述、类型、变量名等位置 - 避免用
${TM_CURRENT_LINE}—— 它在函数定义行上方常为空,改用${1:funcName}更可靠
悬停内容改了但不更新?记住这个硬规则
VSCode 的 hover 提示**不会实时响应注释修改**。必须执行以下任一操作,提示才会刷新:
- 保存文件(
Ctrl+S) - 手动触发一次
Ctrl+K Ctrl+I(光标需落在函数名任意字母上) - 切换到其他标签页再切回来(部分场景有效)
最容易忽略的是:你改完 JSDoc 后立刻悬停,看到的还是旧内容——这不是 bug,是设计如此。保存,才是关键动作。

















