Intellij无法识别角度模块,html元素,管道等

chr*_*con 5 intellij-idea angular

我在使用webpack的项目中运行角度语言支持时遇到了问题(不确定这是否重要,但是如果没有webpack,则在intellij中一切正常),并且这是一个由Java和angular应用程序组成的多模块项目。

问题是没有角度模块可以识别

在此处输入图片说明

说RouterModule不是一个角度模块。

在此处输入图片说明

* ngFor和未解析的管道异步没有匹配的指令。

在此处输入图片说明

虽然MatAutocompleteModule已正确导入。


我已经导入了BrowserModule,CommonModule,并且该项目运行正常。只是intellij的检测无效。

我已经通过npm安装了@ angular / language-service。我已经重新启动了IDE(很多次)。

我该怎么做才能使它正常工作?

依赖关系(角度)

"@angular/animations": "~7.2.14",
"@angular/cdk": "~7.3.7",
"@angular/common": "~7.2.14",
"@angular/compiler": "~7.2.14",
"@angular/core": "~7.2.14",
"@angular/forms": "~7.2.14",
"@angular/material": "^7.3.7",
"@angular/platform-browser": "~7.2.14",
"@angular/platform-browser-dynamic": "~7.2.14",
"@angular/router": "~7.2.14",
Run Code Online (Sandbox Code Playgroud)

devDependencies(与角度相关)

"@angular-devkit/build-angular": "~0.13.0",
"@angular-devkit/build-ng-packagr": "~0.13.0",
"@angular/cli": "7.3.4",
"@angular/compiler-cli": "7.2.14",
"@ngtools/webpack": "7.3.4",
"@angular/language-service": "^7.2.14",
"angular-router-loader": "0.8.5",
"angular2-template-loader": "0.6.2",
"typescript": "3.2.4",
Run Code Online (Sandbox Code Playgroud)

rha*_*lka 22

我将给出对我有用的答案(在 jetbrains 支持的帮助下)。当从intellij 2018 升级到2019 时,您的node_modules/目录不能从您的项目中排除,如果是,那么intellij 将无法索引您的项目。

node_modules/目录被创建时,它会自动被分配到一个库根的状态,不应该被弄乱,否则 intellij 会开始把它当作你项目中的一个普通目录。如果您确实摆弄它,请删除.idea/目录并通过执行File > Open > my-app重新打开项目。

如果您在执行 之后遇到索引缓慢npm install,删除.idea/目录并再次打开您的项目应该可以解决问题。


jpm*_*tin 9

更简单并在 IntelliJ 2020 上经过测试:

  1. 删除.idea前端项目的文件夹
  2. 转到菜单文件 - >“使缓存无效/重新启动... ” - >单击“使缓存无效并重新启动
  3. 让 IntelliJ 重新索引您的项目,问题应该得到解决。

该解决方案应该适用于 IntelliJ 2020 及更高版本。


Vip*_*oni 7

我在 Ionic 5 项目中遇到了同样的问题。

模块显示或突出显示为错误,HTML、Ionic 标签显示为不是 Intellij Idea 终极版中的标签。

我按照上述步骤操作:

  1. 首先,.idea从项目中删除文件夹。
  2. 关闭 IDE。
  3. 从快捷方式列表中删除项目(单击关闭按钮)。
  4. 通过Open 打开 -> 项目路径 ->
  5. 它正确导入。
  6. 万岁,项目没有显示一个错误或突出显示。


mal*_*imo 6

IntelliJ 2019.3 也有同样的问题

但是有一个简单的解决方案:右键单击您的node_modules目录 -> 将目录标记为 -> 取消排除

在此处输入图片说明

该目录现在应该被标记为library root并且所有内容都应该被识别。