Scala + IDEA:sbt和fsc的优点和缺点

时间:2011-03-17 19:52:39

标签: scala intellij-idea sbt

我目前正在使用IDEA的构建机制和fsc一起使用Scala进行开发。它仍然有点慢,不得不(重新)启动编译服务器是一件痛苦的事。这里有很多人建议将SBT与IDEA一起作为构建工具。

您如何看待每种方法的优缺点?

1 个答案:

答案 0 :(得分:10)

我试过了两个,最后我更喜欢直接编译。

缺点?我真的很想能够点击编译错误并直接修复代码,但是...在sbt编译速度要快得多。

Idea Scala插件的每晚构建可能在质量/性能上有所不同,但最近它变得越来越好。 Scala插件现在可以标记许多错误,之前我必须运行compile才能捕获。 (例如,我每晚都会运行0.4.693并且新的方法检查已经无效了。)

我在命令行上对sbt的生活建议:启动sbt up并让它尽可能长时间地以交互方式运行,以利用所有加载和JIT编辑的内容。

sbt离开运行最终会失败但是通过在你的sbt包装器中给它更多的内存你可以很少发生这种情况。

这是适用于我的sbt启动包装器。

java -Xms512M -Xmx1500M -XX:MaxPermSize=512m -jar `dirname $0`/sbt-launch.jar "$@"

我对sbt 0.7的最大问题是它经常返回并重新编译大量的文件,这些文件似乎只与我实际更改的代码相关。 (即便如此,仍然比Idea和fsc更快!)

好消息:sbt 0.9有一些很好的增量编译改进。不幸的是,从0.7到0.9的迁移路径仍处于早期阶段。如果您有兴趣,Mark Harrah在NEScala的演讲会在http://www.nescala.org/2011/上线。

有用的插件