2010年初,什么是好的Scala IDE?
我知道这是一个准确的答案,但一年过去了,Scala似乎是一个快速发展的东西,所以我想再次问一下是可以接受的:2010年初,什么是好的Scala IDE?,ide,scala,scala-2.8,Ide,Scala,Scala 2.8,我知道这是一个准确的答案,但一年过去了,Scala似乎是一个快速发展的东西,所以我想再次问一下是可以接受的: 现在什么是Scala开发的最佳IDE?我知道Eclipse插件正在开发中,正在为Scala 2.8进行完整的重新编写,但我看到一位同事最近使用了一个夜间构建,结果非常糟糕 我使用IntelliJ IDEA(9是免费的),它的scala插件非常好。优秀的语法突出显示、代码导航等。它不如Java支持那么好,但我不一定期望如此。这已经足够好了,我觉得我比在Java中更有效率了 它还具有规范集成
现在什么是Scala开发的最佳IDE?我知道Eclipse插件正在开发中,正在为Scala 2.8进行完整的重新编写,但我看到一位同事最近使用了一个夜间构建,结果非常糟糕 我使用IntelliJ IDEA(9是免费的),它的scala插件非常好。优秀的语法突出显示、代码导航等。它不如Java支持那么好,但我不一定期望如此。这已经足够好了,我觉得我比在Java中更有效率了
它还具有规范集成和控制台集成。您的主要选择是一个成熟的IDE,如IntelliJ IDEA、NetBeans或Eclipse,或者是一个具有一定Scala意识的文本编辑器,如TextMate或Emacs 就我个人而言,我最喜欢IntelliJ。我已经在Java开发中使用它很多年了,特别是由于它的重构和代码导航功能。Scala插件一开始相当粗糙,但正在不断改进。它是开源的,我一直在提供bug报告和一些bug修复 IDE插件都在努力为Scala 2.8做好准备。在过去6个月里,它一直是一个移动的目标,特别是考虑到随着新功能的添加,二进制兼容性被破坏。因此,您可能会更新到新的编译器版本,然后等待支持库(例如specs、scalatest)的更新和重新编译 现在Scala 2.8测试版即将推出,这些问题就不那么常见了
IntelliJ实现了自己的解析器和类型推断,就像它对Java所做的那样。这使它更能容忍错误,并在编辑代码时立即理解代码。类型推断尚未完成。Eclipse将大部分工作委托给scalac,这意味着他们应该始终同意,但只有在保存文件并重新运行编译器时,才会重新生成信息。我不知道NetBeans在这方面是如何工作的。我尝试了Eclipse、NetBeans和IntelliJ IDEA
- 在我看来,日食是最糟糕的。它很慢,有时会弄乱语法突出显示,几乎总是弄乱自动完成,整个IDE有时会没有响应。除了自我折磨之外,我不推荐它用于任何用途
- NetBeans比Eclipse插件工作得更好。更好的突出显示,更好的自动完成,但它一直在报告源代码中相当复杂的语法错误。但当我点击run时,代码编译得很好。我不明白为什么。另一个问题是,当您在类的主体中编写时,autocomplete不能建议类的私有成员。可怜李>
- IntelliJ IDEA工作正常。我建议,如果您严重倾向于Scala开发
不管怎么说,现在就用IntelliJ的主意吧…,IntelliJ的主意。从现在到一年前的一个重大区别是IDEA的免费开源版本是可用的
就我个人而言,我使用IDEA CE 9.0.1,但将编译和测试留给SBT,我一直在另一个窗口上运行SBT,使用
cc
或~test
在2.8的上下文中,我将Eclipse 3.5.x与夜间插件和IDEA Community Edition 9.0一起使用。这个想法对我来说显然更好,除了编译时间。但我并行使用sbt,它解决了这个问题
我对Eclipse插件的主要问题是:
- 无法在Eclipse中更改我的选项卡设置(尽管这似乎适用于其他人)
- 代码已编译,但仍突出显示一些错误,我需要关闭并重新打开该文件
- 自动完成只是返回很多选择
(请注意,这是我最近对的回答的复述)主观且有争议,最好问“什么是好的…”而不是“什么是最好的…”更改了标题。如果这有助于保持问题的开放性,那也不是问题。我同意eclipse§$%&/()。我已经在考虑改用记事本++之类的东西了。很高兴看到IntelliJ更好,IntelliJ非常不直观,很难使用。至少完成是开箱即用的(与Eclipse不同),但我仍在努力用IntelliJ运行“hello world”(尽管它编译得很漂亮)。@Alex R-我认为这是一个很大程度上不公平的观察:它与Eclipse不同,因此它可能看起来不直观,因为你习惯了某些范例。我也不明白为什么你不能运行hello world:CTRL+SHIFT+F10将运行scopeIntelliJ中的任何东西。IDEA在Scala 2.8和CPS中完全失败。一般来说,Scala更好、更深入