现在最好的Scala开发IDE是什么?
我知道Eclipse插件还在开发过程中,正在为Scala 2.8进行完全重写,但我最近看到一位同事使用了一个夜间构建版本,效果非常差。
我使用的是IntelliJ IDEA(Community Edition 9是免费的),它的Scala插件非常好。语法高亮、代码导航等方面都很出色。虽然不及Java支持那么好,但我也不会指望它能达到那个水平。但它已经足够好,让我感觉比用Java更加高效了!
它还有Specs集成和控制台集成功能。
我尝试过 Eclipse、NetBeans 和 IntelliJ IDEA。
我希望 Eclipse 插件会随着时间的推移变得更加成熟,但考虑到它有足够的时间来成熟,我不太喜欢这个想法。Scala具有巨大的潜力,它是一种经过深思熟虑的程序员友好型语言,运行于 JVM 上(这意味着高性能和高可用性),但糟糕的 IDE 支持是这种语言最糟糕的事情。在简单的文本编辑器上编写 PHP 是可以接受的,但对于 Scala 来说,具有如此复杂的语法和使用臃肿的 Java 库的要求,需要一些帮助。也许当前的 Scala 社区(拥有函数式和Java背景)无法理解这一点,但你不能指望新手立即轻松地采用这种语言。
无论如何,选择 IntelliJ IDEA ...
你的主要选择是像IntelliJ IDEA、NetBeans或Eclipse这样完整的IDE,或者带有一些Scala意识的文本编辑器,例如TextMate或Emacs。
个人而言,我最喜欢IntelliJ。我用它进行Java开发已经很多年了,特别是因为它的重构和代码导航功能。Scala插件一开始相当粗糙,但不断改进。它是开源的,我一直在贡献错误报告和一些错误修复。
IDE插件一直在努力准备Scala 2.8版本。在过去的6个月中,这一目标一直在变化,尤其是在添加了新功能的同时打破了二进制兼容性。因此,您可能会升级到编译器的新版本,然后等待支持库(例如specs、scalatest)的更新和重新编译。
现在Scala 2.8 Beta即将发布,这些问题就会更少了。
IntelliJ实现了自己的解析器和类型推断,就像Java一样。这使得它对错误更加宽容,并且在您编辑代码时可以立即理解您的代码。类型推断尚未完全完成。Eclipse将大部分工作委托给scalac,这意味着它们应该始终保持一致,但信息仅在保存文件并重新运行编译器时才会重新生成。我不知道NetBeans在这方面是如何工作的。
现在,IntelliJ的IDEA。和一年前的一个重要区别是,现在有一个免费的开源版本可用。
个人而言,我使用的是IDEA CE 9.0.1,但编译和测试交由另一个窗口上运行的SBT处理,使用cc
或~test
命令。