关闭。这个问题是opinion-based .它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.
7年前关闭。
Improve this question
我在这里看到了有关 IDE 的问题 -- Which is the best IDE for Scala development?和 What is the current state of tooling for Scala? ,但我对 IDE 的体验参差不齐。现在,我使用带有自动工作区刷新选项的 Eclipse IDE,并使用 KDE 4 的 Kate 作为我的文本编辑器。以下是我想解决的一些问题:
-Xprint:jvm
也很好到编译器(打印出降低的代码)。 fsc
还要快。 . 最佳答案
使用当前的 scalac,第 2 点和第 4 点非常难以管理。问题是 Scala 的编译器在构建文件方面有点笨拙。基本上,它会构建您提供给它的任何内容,而不管该文件是否真的需要构建。 Scala 2.8.0 在这方面将有一些巨大的改进,但在那之前...... Eclipse SDT 实际上有一些非常精细(并且非常hackish)的代码用于进行更改检测和依赖项跟踪。总的来说,它做得不错,但正如你所看到的,有皱纹。 Eclipse SDT 2.8.0 将依赖上述对 scalac 本身的改进。
因此,仅构建修改过的文件几乎是不可能的。除了 SDT,我所知道的唯一一个甚至尝试过这个的工具是 SBT ( Simple Build Tool )。它使用编译器插件在编译文件时跟踪文件并查询编译器本身计算的依赖关系图。在实践中,这比 recompile-the-world 方法产生了大约 50% 的改进。再一次,这是一个解决 2.8.0 之前的 scalac 缺陷的技巧。
好消息是,即使不担心更改检测,仍然可以实现相当快的编译。 FSC 使用 Eclipse SDT 用于实现快速增量编译的相同技术(哦,听起来很“Charlie Eppes”)。简而言之,它非常活泼。
我个人使用 Apache Buildr .它的配置比 Maven 的或 SBT 的要干净得多,并且它的启动时间要少几个数量级(在 MRI 下运行时)。它与 FSC 集成并尝试自行进行一些基本的更改检测(相当原始)。它还为主要 Scala 测试框架(ScalaTest、ScalaCheck 和 Specs)提供自动神奇支持,并支持与 Java 源代码的联合编译以及 IntelliJ 和 Eclipse 的 IDE 元生成。哦,它支持 Maven 的所有功能(依赖项解析等),然后是一些。我什至正在开发一个扩展,它允许与 JavaRebel 集成的交互式 shell 支持并支持多个 shell 提供程序(Scala、JIRB、Clojure REPL 等)。它还没有为 SVN 做好准备,但是一旦它准备好我就会提交(可能及时到 1.3.5)。
如您所见,我非常坚信 Buildr 是目前最好的 Scala 构建工具。它的文档在 Scala 方面有点参差不齐,但这是因为一切都非常简单,以至于很难在不感到冗长的情况下进行记录。您可以随时查看 my GitHub repositories 之一举些例子。祝你好运!
https://stackoverflow.com/questions/972006/