Scala目前的工具状态是什么? [英] What is the current state of tooling for Scala?

查看:188
本文介绍了Scala目前的工具状态是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Over the past year, I've heard an increasing amount of hype regarding the Scala language. I know that there are several existing projects that have plans to integrate Scala support with IDEs; however, it isn't always clear how good the integration really is.

他们目前是否支持Intellisense以及Eclipse和Netbeans对Java语言的支持?它们是否也支持即时验证?

Do they currently support Intellisense as well as Eclipse and Netbeans do for the Java language? Do they support instant verification as well?

推荐答案

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

I can't personally speak to the stability of the IntelliJ or NetBeans plugins (though I have heard good things), but the Scala IDE for Eclipse just recently made a new release with Scala 2.7.4. Architecturally, this release is quite different from the previous ones in that it uses Equinox Aspects, the officially supported mechanism for extending JDT (and other cross-plugin extensions). Whereas before the Scala plugin had to literally hack into the JDT internals using private APIs and reflection to trick the system into behaving properly, now it is able to simply declare its extension points and let the system do the rest. It's hard to even describe how much more stable this makes things. I'm not saying that it's all sunshine and roses yet, but if you've tried and rejected the plugin in the past (as I had), it's time to give it another look.

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

As for how it stacks up feature-wise, SDT doesn't have any refactoring support (IntelliJ has some basic stuff like "Rename"), nor does the editor do some things like "Mark Occurrences". However, it has a significantly better Outline than NetBeans, better compiler support than IDEA, and very good semantic highlighting. All three plugins support content assist (or "intellisense", as Microsoft calls it), but none of them are particularly reliable in this area just yet. The Scala IDE for Eclipse is the only one to support incremental compilation (alla Eclipse's Java tooling).

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

My advice: shop around. Try all three and see which one works the best for you. From what I've been hearing, the Scala IDE for Eclipse has leap-frogged the competition with its latest release, but the others have shown such consistent stability and steady advancement that you can't count them out just yet.

这篇关于Scala目前的工具状态是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆