You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 14:47:05