【问题标题】:Intellij doesn't recognize angular modules, html elements, pipes, and so onIntellij 无法识别角度模块、html 元素、管道等
【发布时间】:2019-09-18 00:54:41
【问题描述】:

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

问题是没有一个angular的模块被识别

说 RouterModule 不是 Angular 模块。

没有指令匹配 *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",

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",

【问题讨论】:

  • 你是否安装了所有的 npm 模块并包含在索引中?另外,缓存失效后问题是否仍然存在(文件 | 使缓存失效,失效并重新启动)?
  • 是的,我已经使缓存失效,我已经在@lena 上面列出了已安装的依赖项,你有没有发现任何遗漏?
  • 乍一看,一切看起来都不错......不幸的是,如果没有项目,几乎不可能找到问题:(
  • 是的,已经这么想了@lena。它是一个 jhipster 应用程序,一个使用 jhipster 6.0.0 beta 生成的微服务网关。我使用 intellij 多年并搜索了所有设置,但没有任何帮助。从那以后,我开始将前端从生成的应用程序中拉出来,它又可以工作了。
  • @rhavelka 索引也需要很长时间

标签: angular intellij-idea


【解决方案1】:

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

node_modules/ 目录创建后,会自动分配到 library root 的状态,不要乱用,否则 intellij 会开始将其视为项目中的普通目录.如果您确实使用它,请删除 .idea/ 目录并通过执行 File > Open > my-app 重新打开项目。

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

【讨论】:

  • 使用 IntelliJ Ultimate 2019.X 为我工作。投票。谢谢。
  • 对于 WebStorm,还有一点需要注意的地方。识别库,一定要让 WebStorm 索引 node_modules 作为 library root 在你之前 exclude 它(如果那是你的事)。还要注意不要强行excludeangular.json,因为这是检测Angular以及代码样式/完成等的基础。
  • 对 Intellij Ultimate 2021.2.3 没有帮助
【解决方案2】:

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

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

我按照上述步骤操作:

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

【讨论】:

  • 唯一适用于 Intellij 2021 的解决方案。
  • 也为我工作。比你。这个问题真的很烦人。
【解决方案3】:

IntelliJ 2019.3 也有同样的问题

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

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

【讨论】:

  • 我的 node_modules 被标记为库根目录,但是,转到 RC -> 将 dir 标记为 -> 表明 dir 已被排除。应用项目名称从排除标签中删除它后,现在正在进行缓慢的重新索引。我希望它会有所帮助
  • 适用于 WebStorm 2021.1.2,但不适用于 Intellij 2020.3
【解决方案4】:

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

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

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

【讨论】:

    【解决方案5】:

    实际上对我没有任何帮助,所以我不得不卸载并重新安装它,而无需在新安装中导入以前的设置。

    【讨论】:

    • 我确认(没有任何效果)。不会重新安装。将改用 VScode...
    • 我确认。不要为我工作。我尝试了所有解决方案
    【解决方案6】:

    上面的 Malimo 答案的更新 ^。在最新版本中,您操纵“排除/未排除”标志(此处显示为“排除”,解决了我的问题)。

    这是 v.2020.1 中的样子:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 2020-01-01
      • 2021-04-19
      • 2019-03-29
      • 2020-02-02
      相关资源
      最近更新 更多