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

jsi*_*ght 3 java ide intellisense scala

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

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

Dan*_*wak 5

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

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

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

  • 我从不在Eclipse中构建JAR,即使在Java项目中也是如此.这不是不信任IDE的问题......实际上,是的.我的观点:如果你的项目严重到值得一个JAR,它就足够了,值得一个合适的构建系统.创建一个Buildr构建脚本以处理所有Scala构建需求(包括JARing)需要四行,所以为什么不把它排除在外? (3认同)