我知道这是一个完全相同的副本,但是一年过去了,Scala 似乎是一个快速发展的东西,所以我认为再次询问可能是可以接受的:
现在最好的 Scala 开发 IDE 是什么?
我知道 Eclipse 插件正在开发中,并且正在为 Scala 2.8 完全重写,但我看到一位同事最近使用夜间构建,它非常糟糕。
我使用IntelliJ IDEA(社区版9 是免费的),它的 scala 插件非常好。出色的语法突出显示、代码导航等。它不如 Java 支持好,但我不一定会期待。这已经足够好,我觉得我比在 Java 中更有效率!
它还具有 Specs 集成和控制台集成。
我尝试了 Eclipse、NetBeans 和 IntelliJ IDEA,
我希望 Eclipse 插件能够及时成熟,但考虑到它有足够的时间变得成熟,我不是这个想法的忠实拥护者。Scala 具有巨大的潜力,它是一种经过深思熟虑的、对程序员友好的语言,并且可以在 JVM 上运行(这意味着出色的性能和高可用性),但对于这种语言来说,糟糕的 IDE 支持是最糟糕的事情。在简单的文本编辑器上编写 PHP 是可以接受的,但 Scala 具有如此复杂的语法和使用臃肿的 Java 库的要求,因此需要帮助。也许当前具有函数式和 Java 背景的 Scala 社区无法理解这一点,但您不能指望新手很快就能轻松采用这种语言。
无论如何,去 IntelliJ IDEA ......
您的主要选择是成熟的 IDE,如 IntelliJ IDEA、NetBeans 或 Eclipse,或具有一定 Scala 意识的文本编辑器,如 TextMate 或 Emacs。
就个人而言,我最喜欢 IntelliJ。多年来我一直将它用于 Java 开发,尤其是由于它的重构和代码导航功能。Scala 插件开始时相当粗糙,但在不断改进。它是开源的,我一直在贡献错误报告和一些错误修复。
IDE 插件一直在努力为 Scala 2.8 做好准备。在过去的 6 个月里,它一直是一个不断变化的目标,特别是考虑到随着新功能的添加二进制兼容性被破坏。因此,您可能会更新到编译器的新版本,然后等待支持库(例如规范、scalatest)被更新和重新编译。
现在 Scala 2.8 Beta 迫在眉睫,这些问题不再那么频繁了。
IntelliJ 实现了自己的解析器和类型推断,就像它对 Java 所做的那样。这使它更能容忍错误并在您编辑时立即理解您的代码。类型推断尚未完成。Eclipse 将大部分工作委托给 scalac,这意味着它们应该始终同意,但只有在您保存文件并重新运行编译器时才会重新生成信息。我不知道 NetBeans 在这方面是如何工作的。
现在,IntelliJ 的 IDEA。从现在到一年前,一个很大的不同是可以使用免费的开源 IDEA 版本。
就个人而言,我使用 IDEA CE 9.0.1,但将编译和测试留给 SBT,我继续在另一个窗口上运行,使用cc
or ~test
。
在 2.8 的上下文中,我使用了带有 nightly 插件的 Eclipse 3.5.x 和 IDEA Community Edition 9.0。除了编译时间,IDEA 对我来说显然更好。但我并行使用 sbt,它会处理这个问题。
我对 Eclipse 插件的主要问题是:
我在 IDEA 9.0 build #IC-93.13 和最近的插件 0.3.385 中没有这些问题。此外,IDEA 向我展示了未使用的导入语句。
所有插件似乎都在快速发展,并且正在积极开发,我怀疑今天的真实情况可能不会在一个月内出现。我希望从现在开始的几个月内,我们将能够使用我们最喜欢的 IDE 并获得良好的 Scala 支持。
(注意这是我最近对原始问题的回答的转贴)