vscode本身不提供angular cli工具,所有项目操作均依赖全局安装的@angular/cli;若终端报“command not found”,说明cli未正确安装或path未生效,需在系统终端验证ng version并执行npm install -g @angular/cli(pnpm用户用pnpm add -g @angular/cli),同时检查vscode终端是否继承环境变量。

VSCode 本身不提供 Angular CLI 工具,所有项目生成、组件创建、构建和调试都依赖全局安装的 @angular/cli —— 没装它,VSCode 再多插件也跑不动 ng generate 或 ng serve。
为什么 VSCode 终端里执行 ng 报 “command not found”
这不是插件没装对,而是 CLI 根本没进系统环境变量。VSCode 集成终端默认不继承 shell 的 PATH(尤其在 macOS/Linux 的某些 zsh 配置或 Windows 的 PowerShell 执行策略下):
- 先在系统终端(不是 VSCode 里)运行
ng version,确认 CLI 已全局安装;没输出就执行npm install -g @angular/cli(pnpm用户用pnpm add -g @angular/cli) - Windows 上若提示权限错误,换用 Windows Terminal 或管理员身份运行安装命令
- VSCode 启动方式影响环境:别双击打开文件夹,进项目目录后执行
code . - 在 VSCode 设置中开启
terminal.integrated.inheritEnv,或重启 VSCode 让终端重载 PATH
ng generate 路径写法必须和 CLI 规则一致
VSCode 不会“猜”你要在哪建组件,ng g c 的路径参数直接决定文件生成位置和模块导入路径:
-
ng g c users/user-list→ 在src/app/users/user-list/下生成组件,且自动在最近的NgModule中声明 -
ng g s core/auth→ 生成src/app/core/auth/auth.service.ts,不是src/app/core/auth.service.ts - 加
--skip-tests很关键:避免生成无用的.spec.ts,尤其团队用 Cypress/Playwright 时 - 别依赖右键菜单生成组件——第三方插件参数不可控、常与 CLI 版本脱节,统一走终端命令
调试前必须手动运行 ng serve,launch.json 不会自动启动服务
VSCode 的调试器只负责连接 Chrome 并映射源码,不接管 Angular 开发服务器:
-
launch.json中url必须是"http://localhost:4200/"(结尾斜杠不能少) -
webRoot必须设为"${workspaceFolder}/src",设成./src或${workspaceFolder}都会导致断点不命中 - 确保
angular.json中build.options.sourceMap为true(开发模式默认开启,但自定义配置可能关掉) - Chrome 扩展推荐用
Microsoft Edge Tools for VS Code,旧版Debugger for Chrome在新 VSCode 中兼容性差
最容易被忽略的是:Angular Language Service 插件是否真正激活——它不光看是否安装,还要检查 tsconfig.json 里有没有 "plugins": [{ "name": "@angular/language-service" }],以及右下角 .html 文件的语言模式是不是 “Angular HTML”。这两处漏掉任何一项,模板里的 *ngIf、@Input() 就全都不提示。











