【问题标题】:IntelliJ source code editor shows false compilation errorsIntelliJ 源代码编辑器显示错误的编译错误
【发布时间】:2015-03-13 12:28:19
【问题描述】:

我对带有 scala 的 IntelliJ IDEA 开发环境(版本 14)的以下奇怪行为有疑问:

在我将(全局)scala SDK 从 2.11 版本重置为 2.10.4 版本后,源代码编辑器显示许多编译错误:列表、映射、打印、(1 到 n)等都是红色的。

SDK添加到全局库中,jar包都找到了。

但是代码可以正确编译和运行(我重建了项目以强制重新编译)。有没有人经历过这样的事情? 如何解决这个问题?

我使用的是 java sdk 1.7.0_55。

【问题讨论】:

  • 在文件菜单中,缓存无效/重启
  • 非常感谢,问题解决了。如果您将其表述为答案,我将很乐意接受。
  • @michael 请接受这个作为答案..它解决了我的问题

标签: scala intellij-idea


【解决方案1】:

在文件菜单中,Invalidate Caches / Restart

还在Settings -> Build, Execution, Deployment-> Compiler -> Scala Compiler 中将增量类型设置为SBT

【讨论】:

    【解决方案2】:

    很有可能您没有正确加载项目,这就是出现错误的原因。我已经写了一个完整的博客post,关于如何修复它。以下是文章中可以纠正您的问题的两种方法。

    这两个步骤应该可以帮助到你,其余步骤请查看link

    1.将项目作为 SBT 项目导入:

    首先,在选择目录并选择SBT作为外部模块后,关闭您的项目并再次导入。选择 Import Project,然后转到项目目录,选择您的项目,选择 Import Project from external model,选择 SBT,然后单击 Next,然后单击 Finish。 IntelliJ IDEA 会要求您覆盖 .idea 文件,对它说“是”。在 IDEA 完成索引和加载您的项目后,所有问题都将得到解决。编辑器可以正常工作,并且您将恢复缺失的功能。

    2。使用 SBT-IDEA 修复丢失的项目文件:

    有时 IntelliJ IDEA 会错过最重要的项目文件,并显示编辑器错误以及代码完成错误,但是,在代码编译期间,一切都按您的预期运行。此解决方案适用于名为 SBT-IDEA 的插件。现在要启用此插件,请打开您的终端并按照说明操作:

    一个。在~/.sbt/0.13/plugins目录下创建一个文件plugins.sbt

    b.现在,向其中写入以下内容:

    resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
    
    addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.7.0-SNAPSHOT")
    

    注意:请在插件的 GitHub page 上查看最新版本。

    保存退出,在你的项目根目录下执行sudo sbt gen-idea

    希望对你有帮助!

    谢谢。

    【讨论】:

      【解决方案3】:

      就我而言,我更改了 build.sbt 文件(添加了空行并保存了文件)。然后我Idea重新检查了依赖关系并建立了索引。然后一切正常。

      【讨论】:

        【解决方案4】:

        有时要消除所有错误错误,您需要禁用类型感知突出显示

        • 通过按 Ctrl + alt + shift + e 例如:

        https://blog.jetbrains.com/scala/2011/03/02/type-aware-highlighting/

        错误似乎是因为Scala插件重新实现了编译器逻辑并且不完善。

        更多信息请参见 cmets:

        https://www.reddit.com/r/scala/comments/5pcwfv/question_what_causes_intellij_idea_highlighter/

        【讨论】:

          【解决方案5】:

          当 IntelliJ 尝试自行构建您的代码并严重失败时,就会发生这种情况。

          如果您知道您的构建成功,您需要做的就是编辑 Run Configuration 并删除 Before Launch 部分中的 Build 部分。

          这个解决方案帮我解决了!

          【讨论】:

          猜你喜欢
          • 2018-11-11
          • 1970-01-01
          • 1970-01-01
          • 2017-06-10
          • 2020-07-30
          • 1970-01-01
          • 2012-06-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多