VSCode原生支持TypeScript,但需项目根目录存在有效tsconfig.json并正确加载;否则仅语法高亮,无类型检查、跳转或补全。关键步骤:确保tsconfig.json存在且路径正确、右下角选“Use Workspace Version”、每次修改后重启TS Server。

VSCode 原生支持 TypeScript,不需要装插件、不用改设置就能实时报错、跳转定义、补全参数——前提是项目根目录有有效的 tsconfig.json,且它被正确加载。所有“没提示”“不报错”“跳不到定义”的问题,90% 都卡在这一步。
为什么新建 .ts 文件没报错、F12 跳不到定义?
这不是 VSCode 失灵,而是当前文件没被 TypeScript 语言服务接管。常见原因:
-
tsconfig.json缺失,或放在子目录(TS 默认只向上查找一个层级) - 文件路径在
exclude里被显式排除,比如写了"exclude": ["node_modules", "dist"]却漏了"src" - VSCode 打开的是单个
.ts文件,不是整个文件夹(必须用 File → Open Folder) - 右下角状态栏显示的是
JavaScript,不是TypeScript,手动点击切换即可
最小可用的 tsconfig.json 怎么写?
别抄几十行模板。开发阶段只要类型检查 + 基础编译,以下是最简有效配置:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"lib": ["ES2020", "DOM"],
"strict": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"outDir": "./dist",
"rootDir": "./src",
"esModuleInterop": true,
"resolveJsonModule": true,
"sourceMap": true
},
"include": ["src/**/*"]
}
注意:outDir 和 rootDir 必须成对出现,否则 tsc --watch 会报错;include 用通配比 files 更省心,新增文件不用改配置。
使用 Scrapfly SDK(scrapfly-sdk)在 TypeScript 或 JavaScript 中进行网页抓取,用于用户请求抓取 URL、绕过反爬虫防护、渲染页面等场景。
VSCode 里 tsc 报错但编辑器不标红?
这是典型“VSCode 快速检查”和“命令行全量检查”行为不一致导致的。VSCode 默认只检查打开的文件及其直接依赖,而 tsc 按 tsconfig.json 全局扫描。
- 右下角点击 TypeScript 版本号,选 Use Workspace Version(确保读的是
node_modules/typescript) - 每次改完
tsconfig.json,必须按Ctrl+Shift+P→ 输入TypeScript: Restart TS server手动重启 - 终端执行
npx tsc --noEmit对比输出,确认 VSCode 问题面板是否同步 - 如果用了 pnpm 或 bun,
node_modules/typescript路径可能异常,可在 VSCode 设置里手动指定typescript.tsdk
路径别名(如 @/utils)在 VSCode 里不跳转?
VSCode 的路径别名支持完全由 tsconfig.json 驱动,和 Webpack/Vite 无关。关键点:
- 必须同时声明
"baseUrl": "./"和"paths": { "@/*": ["src/*"] },缺一不可 -
paths的 key 和 value 都必须以/*结尾,写成"@/": ["src/"]就失效 - 别名默认只对
.ts有效;如果项目含.js文件还想复用,得加"allowJs": true和"checkJs": true - 别名映射路径是相对于
tsconfig.json的,不是相对于src或package.json
最常被忽略的是重启 TS Server —— 改完 baseUrl 或 paths 后不重启,VSCode 根本不会重新解析别名规则。










