VS Code中TypeScript函数注释跨文件Hover不显示问题求助
TypeScript跨文件调用时JSDoc注释不显示的解决办法
1. 检查tsconfig.json的关键配置
得保证tsconfig.json里compilerOptions的declaration设为true,这个选项会生成.d.ts声明文件,VS Code跨文件的注释提示全靠它。配置示例:
{ "compilerOptions": { "declaration": true, "declarationDir": "./dist/types", // 可选,指定声明文件输出目录 // 其他原有配置... } }
如果用了Vite、Webpack这类打包工具,还要确认打包流程会生成并正确引用这些声明文件。
2. 确认导入导出的正确性
调用文件里必须用ES模块的import语法正确导入函数,别用全局变量或者错误的路径引用。比如:
import { getAppLanguages } from './utils/lang'; // 替换成你的实际文件路径
别用require导入(除非是CommonJS模块项目),不然TypeScript可能追踪不到注释信息。
3. 重启TypeScript服务清缓存
VS Code的TS服务偶尔会抽风,按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入TypeScript: Restart TS Server重启服务试试。要是还不行,备份后删掉项目根目录的.vscode文件夹,再重启VS Code打开项目。
4. 规范JSDoc注释格式
可以试试把注释和函数声明挨紧,去掉中间的空行,避免格式识别异常:
/** * 检查localStorage中的"lang"字段 * 未指定时返回"fa" */ export const getAppLanguages = () => { const value = window.localStorage.getItem("lang"); if (value === "fa") return "fa"; if (value === "en") return "en"; window.localStorage.setItem("lang", "fa"); return "fa"; };
另外确保注释里没有未闭合的标签或乱码。
5. 检查模块解析配置
在tsconfig.json的compilerOptions里,把moduleResolution设为node或nodenext(根据项目的模块系统选择),保证TypeScript能正确解析模块路径:
{ "compilerOptions": { "moduleResolution": "node", // 其他配置... } }
内容的提问来源于stack exchange,提问作者M Bash
相关产品推荐
相关产品推荐

