VSCode本身不编译TypeScript,必须装tsc、配tsconfig.json、接入tasks.json任务系统;需本地安装TypeScript、生成有效配置、启用sourceMap和workspace版本TS服务,否则保存无反应、F5报错、断点失效。

VSCode 本身不编译 TypeScript,装完编辑器就以为能直接跑 .ts 文件,结果保存没反应、F5 报错、断点打不上——这几乎全是配置链断裂导致的。核心就三点:装对 tsc、写对 tsconfig.json、把 tsc --watch 接进 VSCode 的任务系统。
确认 tsc 命令在终端可用
这是最常卡住的第一步。VSCode 不管你有没有装 tsc,它只负责调用;如果终端里都跑不通 tsc --version,后面全白搭。
- 推荐项目本地安装:
npm install --save-dev typescript,然后用npx tsc --version验证输出(比如5.4.5) - 全局安装(
npm install -g typescript)容易和项目版本冲突,Windows 用户还常因 PATH 没刷新导致 CMD/PowerShell 找不到命令——关掉 VSCode 再重开一次 - 别信“装了插件就行”:VSCode 内置语言服务只做提示,不提供编译器二进制文件
tsconfig.json 必须存在且路径正确
没有 tsconfig.json,VSCode 就不会启用项目级类型检查,tsc 也只会单文件转换、不读 outDir 或 include。它不是可选配置,是开关。
- 在项目根目录运行
npx tsc --init生成基础文件,别手动新建空文件 - 删掉所有
//开头的注释行——tsc解析器不认注释,会直接报错 -
include必须覆盖源码路径,比如"include": ["src/**/*"];漏写引号或斜杠方向错误(如src\**\*)都会让文件被忽略 - 如果用了多根工作区,每个子文件夹都要有自己独立的
tsconfig.json,不能共用一个
用 tasks.json 启用保存即编译
手动敲 npx tsc --watch 太原始,VSCode 的任务系统可以把它变成后台监听服务,保存自动触发,错误还能点进源码定位。
- 按
Ctrl+Shift+P→ 输入Tasks: Configure Task→ 选TypeScript – tsconfig.json - 生成的
tasks.json里必须有"isBackground": true和"problemMatcher": "$tsc-watch",否则保存后无反应 - 如果终端显示
File change detected. Starting incremental compilation却没生成 JS,大概率是tsconfig.json中outDir路径写错,或include没匹配到你的文件 - 别依赖右键菜单里的“编译”选项——VSCode 默认没绑定这个动作,它只是个空壳
调试前必须确保 sourceMap 生效
断点打在 .ts 上却跳到 .js 里、或者直接不命中,90% 是因为 sourceMap 没开,或 launch.json 没配对。
-
tsconfig.json中加一行:"sourceMap": true,否则生成的.js.map文件不会出现 -
launch.json的program字段必须指向编译后的.js文件(如"program": "${workspaceFolder}/dist/index.js"),不能指.ts - 必须设
"preLaunchTask": "tsc: build - tsconfig.json",否则 F5 时.js还没生成,Debugger 直接报错 - 如果改过
tsconfig.json,记得按Ctrl+Shift+P→TypeScript: Restart TS server,否则 VSCode 可能还在用旧缓存
最容易被忽略的是:VSCode 默认用内置 TypeScript 版本做语言服务,和你本地 tsc 版本可能不一致。右下角点击 TypeScript 版本号,选 Use Workspace Version,强制它读 node_modules/typescript —— 否则 tsconfig.json 里写的 strict 或 paths,编辑器根本看不见。


















