5

我现在很喜欢学习 Scala 并且非常享受它;我希望用它来开始未来的项目,而不是 Java。我不太喜欢的是(相对)较差的 IDE 支持。我发现带有 Scala 插件(包括夜间构建)的 IDEA 和 Eclipse 有点不可靠或难以使用——我想要一些我可以一直依赖的东西。例如,昨天我根本无法重新安装 eclipse+plugin 来运行我的测试,甚至无法打开编辑器窗口!

我正在考虑在 Eclipse/IDEA 之间切换,具体取决于哪个最适合手头的任务,更重要的是减少我对 IDE 构建和运行测试 (ScalaTest) 的依赖。这对我来说很重要,因为我是在 Eclipse 中使用 Java 长大的。让 Eclipse SVN 使用 GIT 最初是一件大事。鉴于我只有时间学习一个工具,它应该是 Ant、Maven、buildr、sbt、....?其他人如何工作?

4

5 回答 5

10

我在 Scala 中使用过 Maven 和 sbt,发现它们都非常易于使用。

然而,sbt 感觉更接近 Scala,因为它的构建文件是用 Scala 本身编写的(与 Maven 中的 XML 不同),并且 sbt 具有构建 REPL、持续编译和测试等功能。

所以我建议你将 sbt 用于一个简单的 Scala 项目。

但如果你想创建标准的 Java 项目,如 WAR、EJB 等,我觉得 Maven 对它们有更好的支持。

此外,Maven 有一个庞大的插件生态系统,它使您几乎可以做所有事情,包括代码覆盖率、报告、代码标准检查、文档生成等等。

于 2010-09-16T07:08:58.890 回答
3

我会将 SBT 与 IDEA 一起使用。虽然我没有尝试过,但我知道对 SBT 和 IDEA 的集成有一些支持。

无论如何,SBT 是满足所有 Scala 构建和测试需求的重要基础。

于 2010-09-16T23:48:43.377 回答
1

Buildr 支持 Scala 和 Java 作为一流语言,支持 ScalaCheck 和 ScalaSpecs,当然也有足够的插件使其成为 Maven 的有力竞争者。

于 2010-09-30T06:02:12.403 回答
1

编辑:Uuuups。对不起。实际上,我误读了您的问题,仅对 IDE 发表了评论。在构建项目时,我使用 make ;) 因为它很好地集成到了 Vim

虽然我不想在没有 IDE 的情况下做任何 Java 项目,但我目前正在Vim中做一个相当大的项目。我知道这是一种相当“石器时代的方法”,但效果很好。

一方面,我厌倦了所有 IDE 的错误/缓慢/缺乏 Scala 支持。我尝试了 Scala、netbeans 和 IDEA,发现使用它们(在 Scala 中)相当痛苦。

另一方面,Scala 有一些属性可以在使用简单的编辑器时提供帮助:您可以在一个文件中包含更多类,因此我通常在一个文件中定义一个完整的包,该文件不会再次变得太大,因为 Scala 类通常非常(甚至非常)小。所以我通常一次只打开两个或三个文件,因此不需要包/文件管理。

我无法让语言标签的代码折叠工作,但如果你坚持 Scala 的缩进约定,缩进折叠就可以了。

一件不起作用的事情是自动完成。但是话又说回来,这让我编写了更松散耦合的对象;)

于 2010-09-16T09:25:40.113 回答
0

只需加上我的两分钱。我认为您也应该尝试一下 Netbeans。它应该是三个主要参与者(Eclipse、Idea 和 Netbeans)中对 Scala 最友好的。

我在 Netbeans 6.8 和 scala-2.8.0.r22602-b20100720020114 上玩得很开心

公平地说,如果没有 Netbeans 插件,我现在不会编写 Scala。我花了相当多的时间试图让它与其他人一样顺利地工作,但没有太大的成功。

我使用 Netbeans 进行开发,使用 Ant 进行独立构建。在此处为 Scala 配置 Ant 的信息:http: //scriptlandia.blogspot.com/2007/04/how-to-compile-and-run-scala-program.html

于 2010-10-01T17:22:32.500 回答