如何强制VSCode优先使用d.ts声明类型为ES6导入类提供提示
VSCode 优先使用d.ts声明类型替代ES6导入推导类型操作方案
- 方案1:通过项目配置文件屏蔽源JS文件的类型推导
在项目根目录新增jsconfig.json(TS项目使用tsconfig.json),配置如下:
{ "compilerOptions": { "allowJs": true, "checkJs": true, "typeRoots": ["./types.d.ts", "./node_modules/@types"] }, "include": ["**/*.js", "**/*.d.ts"], // 排除对应导入的JS源文件,让TS服务不读取它的自动推导类型 "exclude": ["MyClass.js"] }
- 方案2:在d.ts中直接声明对应模块的类型
如果不需要排除整个JS文件,可以直接在types.d.ts中声明模块类型覆盖自动推导结果:
// types.d.ts 新增内容 declare module "MyClass.js" { export default class MyClass { // 此处填写你需要的类型定义和注释,悬停提示会优先读取此处内容 constructor(name: string); run: (param: number) => boolean; } }
- 验证操作
配置完成后按下Ctrl+Shift+P(Mac系统为Cmd+Shift+P),执行TypeScript: 重启TS服务器命令,之后悬停在MyClass上即可看到d.ts中定义的提示内容。
内容的提问来源于stack exchange,提问作者b0c0pv3zz3
相关产品推荐
相关产品推荐

