Scala目前的工具状态是什么?

在过去的一年里,我听到越来越多关于Scala语言的炒作。 我知道有几个现有项目计划将Scala支持与IDE集成; 然而,并不总是清楚整合的真正程度。

他们目前是否支持Intellisense以及Eclipse和Netbeans为Java语言做的事情? 他们也支持即时validation吗?

我个人不能谈论IntelliJ或NetBeans插件的稳定性(虽然我听说过好东西),但最近Scala IDE for Eclipse用Scala 2.7.4发布了新版本。 在架构上,这个版本与之前的版本完全不同,因为它使用Equinox Aspects,这是官方支持的扩展JDT(以及其他交叉插件扩展)的机制。 然而,在Scala插件不得不使用私有API和reflection来欺骗系统以使系统正常运行之前,现在它能够简单地声明其扩展点并让系统完成其余的工作。 甚至很难描述这会让事情变得多么稳定。 我并不是说它现在都是阳光和玫瑰,但是如果你曾经尝试过并拒绝了这个插件(就像我一样),那么现在是时候再看一遍了。

至于它如何在function方面叠加,SDT没有任何重构支持(IntelliJ有一些基本的东西,如“重命名”),编辑也没有像“Mark Occurrences”那样做一些事情。 但是,它具有比NetBeans更好的大纲,比IDEA更好的编译器支持,以及非常好的语义突出显示。 所有这三个插件都支持内容辅助(或称为“intellisense”,正如微软所说的那样),但它们在这方面还不是特别可靠。 Eclipse的Scala IDE是唯一支持渐进式编译的人(alla Eclipse的Java工具)。

我的建议:到处逛逛。 尝试所有这三个,看看哪一个最适合你。 从我所听到的情况来看,Scala IDE for Eclipse已经在最新版本中飙升了竞争对手,但其他人已经表现出如此稳定的稳定性和稳定的进步,你现在还不能算出来。

这是一个类似的问题: 哪个是Scala开发的最佳IDE?

在我使用Scala IDE for Eclipse和Scala Plugin for Netbeans的简短经验中,似乎Netbeans插件比Eclipse更加稳固。

使用Scala IDE for Eclipse,我遇到运行Hello World类型Scala对象的问题,有时语法突出显示会开始起作用。 然后,我尝试了Netbeans插件,它似乎比Eclipse更具function性。

我没有深入使用任何一个Scala IDE插件,所以我不能说出很多经验,但仅仅从我最初的印象来看,Netbeans插件看起来比Eclipse更稳定一点一。

目前,所有三个主要IDE都处于大致相同的支持级别。

  • IntelliJ – 该插件完全没有工作,但在其他方面相当不错。 自v8以来,底层平台缓慢(至少在linux中)。
  • Eclipse – 该插件获得了大量支持,并且处于非常活跃的开发阶段。
  • NetBeans – 恕我直言,该插件比Eclipse更好一些,但是无法运行任意文件是一个主要的下降。

所有上述情况都无法在所有情况下解析AST。 例如,通过将特征与隐式defs混合,可以很容易地混淆它们。 当它建议语法错误时,不能信任IDE。 回到编译器是肯定的。

我很高兴使用IntelliJ IDEA 8.1及其Scala插件并且可以推荐它。 它甚至还有一个路线图 ,你可以通过投票你最喜欢的缺失function来影响:)不幸的是,我没有其他IDE的Scala支持经验。

我正在使用Eclipse Scala插件。 它相当不错,但与Java工具不同。

对于intelliJ,不知道。 但是在Eclipse和Netbeans之间,我必须说Netbeans,特别是如果你不愿意为自己的贸易专家而且你想要一个不会妨碍maven的IDE。

Netbeans maven支持太好了。

Netbeans scala编辑器似乎也运行良好。 我不关心netbeans或编译器插件中的集成scala开发工具包,或任何此类帮助程序。 从netbeans我只期望三件事:(a)不要妨碍maven,让maven运行我的构建(b)给我一个体面的编辑器(c)让我从我的.scala文件深入到源代码我的maven依赖项引用的库。

我相信,Netebeans能够很好地提供所有三种,即使有时感觉有点太慢。

我可以说的是(1)你没有遇到任何编译问题,因为任务是maven。 maven编译器插件有点太慢了。 但是编译scala vs java总是那样,很痛苦。 如果你已经尝试过GWT编译java,javascript甚至更痛苦。

(2)Netbeans完美地为你的maven依赖关系找出源代码,你可以深入研究最模糊的sacala运算符,例如电梯的CSS映射器。

至于日食,日食maven整合一直很讨厌。 如果你有一个包含太多依赖关系和模块的大项目,Netbeans maven集成会变得非常糟糕。 然后检查netbeans做的外部变化是非常缓慢的。 这是netbeans的缺点。

但是,如果你和SBT粉丝……好吧,也许那么回答可能是别的。

但对我来说,既然maven已经成为今天的事情,我再也不想回到那些“网络应用程序项目”,“图书馆项目”等……当你在创建一个新项目时所拥有的选项向导IDE。 我只想要“maven项目”,请通过阅读pom来弄清楚我的输出文物是什么。