2010-09-16 52 views
5

我现在很好地学习Scala并非常享受它;我希望能够启动未来的项目,而不是Java。我更少享受的是相对较差的IDE支持。我发现IDEA和Eclipse与Scala插件(包括每晚构建)都有点不可靠或难以使用 - 我想要一些我始终可以依赖的东西。例如。昨天我无法得到一个新的安装eclipse +插件来运行我的测试,甚至打开编辑窗口!如何在没有IDE依赖的情况下构建/测试Scala?

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

回答

10

我都用了Maven和SBT使用Scala,发现两者很容易使用。

然而,SBT感到更加接近斯卡拉作为其构建文件都写在斯卡拉本身(而不是在Maven的XML)和SBT功能构建REPL,已经连续编译和测试等

所以我会建议你使用sbt来完成一个简单的Scala项目。

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

而且Maven有一个巨大的生态系统插件,使你做几乎所有,代码覆盖率,报告,代码标准检查,文档生成,以及更多。

1

编辑:Uuuups。抱歉。其实我误解了你的问题,只评论了IDE。当涉及到建设我使用使项目;),因为它可以很好地集成到Vim中

,而我不想做没有IDE任何Java项目,目前,我正在做一个相当大的项目只是Vim 。我知道这是一种相当“石器时代的做法”,但它工作得很好。

一方面我被车/慢/缺少斯卡拉支持所有的IDE够了。我尝试过Scala,netbeans和IDEA,并发现与他们(在斯卡拉)工作相当痛苦。另一方面,Scala有一些属性可以帮助使用简单的编辑器:在一个文件中可以有更多的类,因此我通常将整个包定义在一个文件中,这个文件不会变得太大,因为Scala班级通常非常小(甚至非常小)。所以我通常每次只打开两个或三个文件,因此不需要打包/文件管理。

我无法通过语言标签获得代码折叠工作,但如果您坚持使用Scala的缩进约定,可以通过缩进折叠起作用。

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

+0

很高兴听到更'硬核'的方法:)这件事会让我担心它会重新分解。我通常不会第一时间把事情做好,并且要比我应该重新考虑更多的因素。 – Pengin 2010-09-16 09:56:24

+1

沿着这些路线,我听说emacs + sbt + ENSIME是一个很好的组合(并且ENSIME会重构!)。更多关于这个scala用户线程:http://scala-programming-language.1934581.n4.nabble.com/Best-free-IDE-for-Scala-td2533572.html – 2010-09-17 01:19:59

+0

@Pengin:就像上面写的那样,我倾向于由于缺乏自动完成而编写更松散耦合的类系统。所以通常重构需要5分钟或更少的时间 – Agl 2010-09-17 07:00:22

3

我会使用SBT与IDEA。虽然我没有尝试过,但我知道有一些支持SBT和IDEA的整合。

无论如何,SBT是所有斯卡拉建设&测试需求的绝佳基础。

+0

SBT和IDEA整合比以往更好。这是梦幻般的! – film42 2014-10-20 00:35:20

1

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

0

只需加我两分钱。我想你也应该试试Netbeans。它应该是三大玩家中最具斯卡拉友好的(Eclipse,Idea和Netbeans)。

我一直有很多的乐趣与Netbeans的6.8和Scala-2.8.0.r22602-b20100720020114

它是公平地说,我现在就不会编程斯卡拉,如果它不是为Netbeans插件。我花了一段时间试图让它与其他人一样顺利地工作,但没有取得太大的成功。

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

相关问题