IntelliJ IDEA Ultimate 2023.2.5不支持Angular 17新控制流求助
Angular 17 新语法在IntelliJ IDEA中无法识别的解决方法
升级Angular到17版本后,HTML模板中的@for等新控制流语法会被IntelliJ IDEA误报,示例代码如下:
<mat-menu #menu="matMenu"> @for (menuItem of getData().menu.items; track menuItem) { <button mat-menu-item (click)="onMenuClick(menuItem)"> <mat-icon>{{menuItem.icon}}</mat-icon> <span>{{menuItem.label}}</span> </button> } </mat-menu>
IDEA会提示:
“Unterminated expansion form. If you have unescaped '{', use '{{ "{ }" }}' to escape it.”
同时代码格式化功能失效,即使使用最新Linux版IDEA也存在该问题,可尝试以下解决步骤:
- 更新Angular插件:打开IDEA的
Settings/Preferences → Plugins,找到Angular插件,检查并更新至最新版本,重启IDEA。 - 确认项目Angular版本配置:进入
File → Project Structure → Modules,选中Angular模块,确保Language level适配Angular 17,或设置为自动检测。 - 禁用冲突插件:暂时禁用非必要的HTML/前端相关第三方插件,排除插件冲突影响。
- 清除IDEA缓存:执行
File → Invalidate Caches...,选择Invalidate and Restart,让IDEA重新解析项目语法规则。 - 绑定本地Angular版本:在
Settings/Preferences → Languages & Frameworks → Angular中,勾选“Use Angular version from node_modules”,确保IDEA读取项目本地安装的Angular 17版本。
内容的提问来源于stack exchange,提问作者Peter Nagy
相关产品推荐
相关产品推荐

