IntelliJ 插件与 SDK

IntelliJ plugins vs SDKs

我已经使用 IntelliJ IDEA Community 2018.1 几个月了,严格来说是 Java 和 Groovy 项目。我刚刚导入了我的第一个(有史以来)Scala/Gradle 项目,当它加载时,我注意到 IDE 并不是真正的“loading” Scala来源(编译它们等)。如果我打开一个 Scala 源文件,它就出现在 "text editor mode" 中,如果我写了一行代码是一个明显的编译器错误,IntelliJ 根本不会抱怨。我还注意到,如果我去创建一个新文件,它并没有给我 "Scala" 作为一个选项。

所以我进入了 Preferences >> Plugins 并安装了 Scala 插件,这让一切都运行良好。

但是,我随后注意到 IntelliJ 提示我配置 "Scala SDK",我照做了,一切仍然像我只安装 "Scala plugin" 时一样工作。

所以我问:IntelliJ Scala "plugin" 和配置 Scala "SDK" 有什么区别?

如果安装 Scala 插件,IntelliJ IDEA 将理解 *.scala 文件是 "Scala files"(否则为纯文本),并将提供语法高亮等基本功能。

但这只是代码编辑,无论如何你都会编译你的 Scala 文件,对吧?所以你需要一个 Scala SDK,而 IntelliJ IDEA 将使用 SDK 来编译你的代码。
此外,Scala 标准库位于 SDK 中。 IntelliJ IDEA 将阅读它们并提供完成和转到定义(否则你会到处看到未解决的引用错误)。

您还可以使用构建工具,有了构建工具,您就不必在 IDE 中配置 SDK。 IntelliJ IDEA会通过读取配置自动创建SDK。