如何让VS Code识别Vitest全局变量?
解决VS Code中Vitest全局API类型报错的问题
以下是针对性的解决步骤:
启用Vitest全局配置
仅在tsconfig.json中添加类型还不够,必须在Vitest配置文件(vitest.config.ts/vitest.config.js)里开启全局模式:import { defineConfig } from 'vitest/config' export default defineConfig({ test: { globals: true, // 必须开启该选项 }, })确保测试文件被TS配置覆盖
检查tsconfig.json的include字段,确认测试文件(比如tests/**/*或**/*.test.ts)被包含在内:{ "compilerOptions": { "types": ["vitest/globals"] }, "include": ["src/**/*", "tests/**/*"] }如果项目使用单独的测试TS配置(如
tsconfig.test.json),要在Vitest配置里指定它:export default defineConfig({ test: { globals: true, tsconfig: './tsconfig.test.json', }, })重启VS Code的TypeScript服务
按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入并执行TypeScript: Restart TS Server,清除TS服务缓存。移除冲突的测试类型包
如果之前安装过@types/jest或@types/mocha,它们会和Vitest的全局类型冲突,执行卸载命令:npm uninstall --save-dev @types/jest @types/mocha更新Vitest到兼容版本
确保你的Vitest版本支持全局类型(建议使用>=0.20.0的版本),执行更新:npm update vitest --save-dev
内容的提问来源于stack exchange,提问作者RobotEyes
相关产品推荐
相关产品推荐

