vscode本身不编译typescript,必须安装tsc(推荐项目级npm install --save-dev typescript)、配置有效tsconfig.json(含include、outdir、rootdir、sourcemap等)、设置tasks.json中isbackground:true的tsc --watch任务,并手动重启ts服务才能实现保存自动编译。

VSCode 本身不运行 TypeScript,也不自动编译——它只调用你本地装的 tsc 或 ts-node。没装、没配、没重启服务,保存后就不可能生成 .js 文件,更别提执行。
确认 tsc 可用且版本 ≥ 5.0
VSCode 不自带可执行的 tsc,它依赖你本地安装的 TypeScript 编译器。终端里跑 tsc --version 报错或输出低于 5.0(比如 4.9.5),后续 sourceMap 映射、satisfies 检查、路径解析都可能出问题。
- 项目级安装最稳:
npm install --save-dev typescript - 验证是否生效:
npx tsc --version必须有输出 - 告诉 VSCode 用项目里的 TS:在工作区设置中加
"typescript.tsdk": "./node_modules/typescript/lib" - 改完设置后必须手动重启 TS 服务:
Ctrl+Shift+P→ 输入TypeScript: Restart TS server
tsconfig.json 里这三项一错就编译失败
空的 {} 或只有注释的 tsconfig.json 是无效的。tsc 会降级为单文件编译,outDir、include 全部失效,JS 文件压根不生成。
完整的Galileo AI平台 TypeScript/JS SDK 参考,用于评估、观察和保护 GenAI 应用。适用于构建 Node.js 或 TypeScript 项目。
-
"include"必须显式覆盖源码,例如["src/**/*"];用"files"的话漏一个文件就整个不编译 -
"outDir"和"rootDir"要配对:比如源码在src/,就得写"rootDir": "./src",否则 tsc 可能误扫node_modules或报错找不到文件 -
"sourceMap": true和"inlineSourceMap": false要同时存在;只开前者或只开后者,调试时断点会跳不到.ts行
用 tasks.json 配 tsc --watch 实现保存即编译
VSCode 默认不监听文件变化。Ctrl+Shift+B 手动构建太慢,真正自动编译靠的是后台运行的 tsc --watch 任务,而它必须通过 .vscode/tasks.json 正确声明才能活下来。
-
"isBackground": true缺了它,任务启动后立刻退出,无法监听任何改动 -
"problemMatcher": "$tsc-watch"缺了它,错误只堆在终端里,编辑器不标红、F8 也跳不了 -
"noEmit"在tsconfig.json里必须是false,否则--watch根本不输出 JS 文件 - 配置完按
Ctrl+Shift+B→ 选tsc: watch,终端应显示Found 0 errors. Watching for file changes.
想改完就执行?nodemon + ts-node 是最顺的组合
tsc --watch 只编译,不执行;ts-node 能直接跑,但默认不监听文件变化。两者合体才是开发流的舒适区:改保存 → 自动转译 → 自动重启进程。
- 装依赖:
npm install --save-dev nodemon ts-node typescript - 加脚本到
package.json:"dev": "nodemon --exec ts-node --files src/index.ts" -
--files很关键:nodemon 默认只监听.js,不加它根本不会响应.ts变化 - 如果用了路径别名(如
@/utils),tsconfig.json里得配"baseUrl"和"paths",且不能加-T参数跳过类型检查
最容易被忽略的是:改了 tsconfig.json 或装了新包,VSCode 不会自动重载 TS 服务;不手动重启,所有配置都只是纸上谈兵。










