tsc 不是 VS Code 自带的,必须手动安装;类型检查不准、补全失效,大概率是 TypeScript 版本没对齐或 tsconfig.json 缺失。

tsc 不是 VS Code 自带的,必须手动安装;类型检查不准、补全失效,大概率是 TypeScript 版本没对齐或 tsconfig.json 缺失。
为什么 tsc 命令报 “command not found”
VS Code 内置 TypeScript 语言服务(用于语法高亮、跳转、提示),但不包含编译器 tsc。它只负责“看”,不负责“转”。
- 全局安装:执行
npm install -g typescript,之后终端里就能用tsc --version验证 - 项目级安装更推荐:在项目根目录运行
npm install --save-dev typescript @types/node,避免全局版本和项目需求冲突 - 装完后,VS Code 状态栏右下角会显示 TypeScript 版本号,点击它 → 选 “Use Workspace Version”,否则编辑器仍可能用内置旧版导致类型提示错乱
tsconfig.json 缺失或配置宽松,会导致类型检查形同虚设
没有 tsconfig.json,VS Code 就不知道该按什么规则检查类型、从哪开始编译、输出到哪——它只会对单个文件做最基础的推断。
完整的Galileo AI平台 TypeScript/JS SDK 参考,用于评估、观察和保护 GenAI 应用。适用于构建 Node.js 或 TypeScript 项目。
- 生成基础配置:在项目根目录运行
npx tsc --init,它会生成一个含注释的默认文件 - 至少启用这些关键项:
"strict": true(开启所有严格检查)、"outDir": "./dist"(明确输出路径)、"rootDir": "./src"(源码入口)、"include": ["src/**/*"](避免漏掉子目录) - 如果用了路径别名(如
@/utils),必须加"baseUrl": "./"和"paths"字段,否则自动导入和跳转会失败
调试时断点不生效,常见于 launch.json 中的路径或构建任务错配
VS Code 调试 TypeScript 的本质,是让 Node.js 运行编译后的 JS,并通过 source map 关联回 TS 源码。路径写错或没触发编译,断点就永远灰着。
-
"program"必须指向.ts文件(如"${workspaceFolder}/src/index.ts"),不是.js -
"preLaunchTask"必须匹配tasks.json中定义的构建任务名,常见是"tsc: build - tsconfig.json";如果没这个任务,要先通过命令面板(Ctrl+Shift+P)→ “Tasks: Configure Task” → 选 “tsc watch” 或手动创建 -
"outFiles"路径要和tsconfig.json中的outDir一致,且结尾用双星号:"${workspaceFolder}/dist/**/*.js" -
"sourceMaps"必须为true,否则调试器找不到映射关系
自动导入、重命名、路径补全失效,往往卡在工作区设置或插件干扰
这些功能由 VS Code 内置 TS 语言服务驱动,但容易被用户配置或第三方插件覆盖。
- 检查
.vscode/settings.json是否禁用了关键选项,比如"typescript.suggest.autoImports": false - 确认没同时启用 TSLint(已废弃)和 ESLint + TypeScript 插件,二者冲突会导致建议消失
- Vue/Svelte 项目务必禁用 Vetur,改用 Volar;否则 TS 在
.vue文件里几乎不工作 - 移动文件后导入没更新?设置
"typescript.updateImportsOnFileMove.enabled": "always"可解决
真正麻烦的不是装插件或敲命令,而是版本对齐和配置联动——tsc 版本、tsconfig.json、launch.json、settings.json 四者稍有不一致,就会出现“看起来能跑,但提示不准、断点不进、重构出错”的隐性问题。

















