Scala3 不会在 Intellij 中显示类型不匹配或格式错误

问题描述 投票:0回答:1

我使用的是 Scala 3.3.1,Intellij 没有给我有用的构建错误输出,也没有错误突出显示。

例如,如果我的项目使用任何 3.x Scala SDK,并且我有以下错误代码,它不会在 IDE 本身上显示任何内容来告诉我存在类型错误:

并且编译时,无论出现什么错误,控制台输出始终是相同的。

scalac: Error: 'java.lang.String dotty.tools.dotc.reporting.Message.msg()'
java.lang.NoSuchMethodError: 'java.lang.String dotty.tools.dotc.reporting.Message.msg()'
    at dotty.tools.xsbt.DelegatingReporter.doReport(DelegatingReporter.java:47)
    at dotty.tools.dotc.reporting.Reporter.issueUnconfigured(Reporter.scala:158)
    at dotty.tools.dotc.reporting.Reporter.go$1(Reporter.scala:181)
    at dotty.tools.dotc.reporting.Reporter.issueIfNotSuppressed(Reporter.scala:200)
    at dotty.tools.dotc.reporting.Reporter.report(Reporter.scala:203)
    (etc...)

我的项目涉及很多复杂的类型和方法,每次出现类型不匹配、拼写错误的变量或任何微小的不合适的地方时,IntelliJ 根本不会告诉我错误可能是什么或错误在哪里,这使得我的工作几乎不可能完成。

相反,如果我随后将项目的 SDK 重新分配给 Scala 2.x,则会发生我想要发生的情况:

同样,它会返回有用的错误消息:

(...)Main.scala:3:21
type mismatch;
 found   : String("test")
 required: Int
    val test: Int = "test"

遗憾的是,我的工作不允许我使用 Scala 2,但如果没有像同一 IDE 上的 Scala 2 那样收到错误消息和错误突出显示,这将变得不可能。我该如何解决这个问题?

scala intellij-idea compiler-errors syntax-error scala-3
1个回答
0
投票

Scala 插件 2023.3 的稳定版本尚未修复此问题。它可以作为 Scala 插件夜间构建的一部分进行安装。

您可以在 设置 > 语言和框架 > Scala > 更新选项卡 > 更新频道并将其设置为 Nightly Builds 中执行此操作。单击“立即检查”后,IDEA 应该提示您安装 Scala 插件的夜间版本。

© www.soinside.com 2019 - 2024. All rights reserved.