21

我知道这是一个完全相同的副本,但是一年过去了,Scala 似乎是一个快速发展的东西,所以我认为再次询问可能是可以接受的:

现在最好的 Scala 开发 IDE 是什么?

4

5 回答 5

17

我知道 Eclipse 插件正在开发中,并且正在为 Scala 2.8 完全重写,但我看到一位同事最近使用夜间构建,它非常糟糕。

我使用IntelliJ IDEA社区版9 是免费的),它的 scala 插件非常好。出色的语法突出显示、代码导航等。它不如 Java 支持好,但我不一定会期待。这已经足够好,我觉得我比在 Java 中更有效率!

它还具有 Specs 集成和控制台集成。

于 2010-01-24T14:46:32.103 回答
16

我尝试了 Eclipse、NetBeans 和 IntelliJ IDEA,

  • Eclipse在我看来是最糟糕的。它很慢,有时会打乱语法突出显示,几乎总是会打乱自动完成功能,并且整个 IDE 有时会无响应。除了自我折磨,我不推荐它用于任何用途。
  • NetBeans比 Eclipse 插件工作得更好。更好的突出显示,更好的自动完成,但它一直在报告整个源代码中相当复杂的语法错误。但是当我点击运行时,代码编译得很好。无法理解为什么。另一个问题是,当您在该类的主体内编写时,自动完成无法建议类的私有成员。贫穷的!
  • IntelliJ IDEA工作得很好。如果您严重反对 Scala 开发,我建议您这样做。

我希望 Eclipse 插件能够及时成熟,但考虑到它有足够的时间变得成熟,我不是这个想法的忠实拥护者。Scala 具有巨大的潜力,它是一种经过深思熟虑的、对程序员友好的语言,并且可以在 JVM 上运行(这意味着出色的性能和高可用性),但对于这种语言来说,糟糕的 IDE 支持是最糟糕的事情。在简单的文本编辑器上编写 PHP 是可以接受的,但 Scala 具有如此复杂的语法和使用臃肿的 Java 库的要求,因此需要帮助。也许当前具有函数式和 Java 背景的 Scala 社区无法理解这一点,但您不能指望新手很快就能轻松采用这种语言。

无论如何,去 IntelliJ IDEA ......

于 2010-01-24T19:50:03.530 回答
10

您的主要选择是成熟的 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 在这方面是如何工作的。

于 2010-01-24T15:08:14.560 回答
5

现在,IntelliJ 的 IDEA。从现在到一年前,一个很大的不同是可以使用免费的开源 IDEA 版本。

就个人而言,我使用 IDEA CE 9.0.1,但将编译和测试留给 SBT,我继续在另一个窗口上运行,使用ccor ~test

于 2010-01-24T20:41:34.097 回答
5

在 2.8 的上下文中,我使用了带有 nightly 插件的 Eclipse 3.5.x 和 IDEA Community Edition 9.0。除了编译时间,IDEA 对我来说显然更好。但我并行使用 sbt,它会处理这个问题。

我对 Eclipse 插件的主要问题是:

  • 无法在 Eclipse 中更改我的选项卡设置(尽管这似乎对其他人有用)
  • 代码编译但仍然突出显示一些错误,我需要关闭并重新打开文件
  • 自动完成只会返回很多选择

我在 IDEA 9.0 build #IC-93.13 和最近的插件 0.3.385 中没有这些问题。此外,IDEA 向我展示了未使用的导入语句。

所有插件似乎都在快速发展,并且正在积极开发,我怀疑今天的真实情况可能不会在一个月内出现。我希望从现在开始的几个月内,我们将能够使用我们最喜欢的 IDE 并获得良好的 Scala 支持。

(注意这是我最近对原始问题的回答的转贴)

于 2010-01-25T02:46:14.953 回答