根本原因是vscode未识别.html文件为angular上下文,需右下角切换语言模式为angular html,并确认tsconfig.json含language-service插件配置、typescript版本兼容、重启vscode或执行angular: restart服务。

Angular Language Service 插件装了但模板没提示
根本原因不是插件没装,而是 VSCode 没识别出当前 .html 文件属于 Angular 上下文。默认语言模式是 HTML,而 Angular 语法(如 *ngIf、[formControl])只在 Angular HTML 模式下激活。
- 右下角状态栏点击当前语言标识(显示 “HTML”),选择 Configure File Association for '.html' → 设为
Angular HTML - 检查项目根目录
tsconfig.json中是否含"plugins": [{ "name": "@angular/language-service" }];漏掉这行,插件不会加载 - 确保项目里
typescript包版本与插件兼容:Angular v17 项目不能用 v16 的插件,且node_modules/typescript版本需 ≥ 5.2(Angular 17 要求) - 重启 VSCode(不是重载窗口),或手动执行命令面板中的
Angular: Restart Angular Language Service
launch.json 配置后断点不命中 .ts 文件
VSCode 调试器找不到源码映射,常见于路径配置错位或 source map 关闭。Angular CLI 默认开启 source map,但调试器必须知道怎么“反向查找”。
-
webRoot必须设为"${workspaceFolder}/src",不是./src或${workspaceFolder} - 确认
angular.json中build.options.sourceMap为true(开发模式默认开启,但自定义构建配置可能关掉) - 如果用了
ng build --aot测试生产包,调试器无法映射模板逻辑——AOT 编译会抹除部分调试信息,仅限ng serve开发模式下调试 - Chrome 扩展必须是
Debugger for Chrome(已停更)或Microsoft Edge Tools for VS Code(推荐),新版 VSCode 对旧版 Debugger for Chrome 兼容性下降明显
ng 命令在 VSCode 终端里报 Command not found
VSCode 终端不继承系统 PATH,或全局安装被隔离。这不是插件问题,而是 CLI 根本没装进环境变量里。
- 先在系统终端(非 VSCode)运行
ng version,确认 CLI 已全局安装;若失败,执行npm install -g @angular/cli(pnpm用户用pnpm add -g @angular/cli) - Windows 上 PowerShell 可能因执行策略阻止 npm 全局 bin 目录加入 PATH,改用 Windows Terminal 或管理员权限重新安装
- VSCode 启动方式影响:不要双击打开文件夹,而是进项目目录后执行
code .,确保终端初始化时读取了正确的 shell 环境 - 检查 VSCode 设置中
terminal.integrated.defaultProfile.linux(或对应平台)是否指向正确 shell,避免启动了无 PATH 的 sh 实例
模板里打断点无效,想调试 *ngIf 条件逻辑怎么办
HTML 模板本身不执行 JS,断点只能打在绑定的 TS 层——比如 *ngIf="show" 的 show 是组件属性,*ngIf="isLoading()" 的 isLoading() 是方法。直接在 .html 里点「添加断点」没意义。
- 把逻辑抽到组件方法里,例如写成
*ngIf="shouldShowItem()",然后在shouldShowItem()函数第一行打断点 - 使用
async管道时,断点要打在 Observable 源头(Service 方法或map内部),而非模板中{{ data$ | async }} - 想观测模板上下文变量?用
console.log+ng-container临时插入:<ng-container>{{ console.log($implicit) }}</ng-container>(仅开发用) - 别依赖浏览器开发者工具里的 “Pause on caught exceptions” 查模板错误——Angular 错误多数抛在变更检测周期内,捕获位置离模板很远,不如看 VSCode 「问题」面板实时报错











