Eclipse 什么';什么是最好的Scala构建系统?
我在这里看到过关于IDE的问题,但我对IDE的体验不一。现在,我正在使用带有自动工作区刷新选项的EclipseIDE,并使用KDE4的Kate作为我的文本编辑器。以下是我想解决的一些问题:Eclipse 什么';什么是最好的Scala构建系统?,eclipse,scala,build,Eclipse,Scala,Build,我在这里看到过关于IDE的问题,但我对IDE的体验不一。现在,我正在使用带有自动工作区刷新选项的EclipseIDE,并使用KDE4的Kate作为我的文本编辑器。以下是我想解决的一些问题: 使用我自己的编辑器IDE真正面向每个使用其组件的人。我更喜欢Kate,但刷新系统非常烦人(它不使用inotify,可能是10秒的轮询间隔)。我不使用内置文本编辑器的原因是,自动完成功能中断会导致IDE挂起10秒 仅重建修改过的文件Eclipse构建系统已损坏。它不知道何时重建类。我发现自己几乎有一半的时间去做
-Xprint:jvm
传递给编译器(以打印出较低的代码)fsc
更为快速更新2-从我所看到的基准测试来看,Daniel Spiewak认为buildr比Maven快是正确的(而且,如果要进行增量更改,Maven的10秒延迟会很烦人),所以如果一个人能够制作一个兼容的构建文件,那么它可能是值得的…你看过Intellij IDEA及其应用程序吗?Intellij在Java开发人员中拥有忠实的(狂热的?)追随者,因此您可能会发现这非常适合您的需要。使用当前的scalac很难管理第2点和第4点。问题是Scala的编译器在构建文件方面有点笨。基本上,它将构建您提供给它的任何内容,而不管是否真的需要构建该文件。Scala 2.8.0在这方面将有一些巨大的改进,但在此之前。。。EclipseSDT实际上有一些非常复杂(而且非常粗糙)的代码来进行更改检测和依赖项跟踪。总的来说,这是一个不错的工作,但正如你所看到的,有皱纹。EclipseSDT2.8.0将依赖于上述对scalac本身的改进 因此,仅构建修改过的文件几乎是不可能的。除了SDT之外,我所知道的唯一一个甚至可以尝试使用它的工具是SBT()。它使用一个编译器插件来跟踪编译的文件,并查询由编译器自己计算的依赖关系图。在实践中,这比重新编译world方法提高了约50%。再一次,这是一种绕过2.8.0Scalac之前版本缺陷的方法 好消息是,即使不担心更改检测,也可以实现相当快的编译。FSC使用EclipseSDT用于实现快速增量编译的相同技术(哦,听起来像是“CharlieEPPES”)。简言之,它相当快 就我个人而言,我使用。它的配置明显比Maven或SBT更干净,启动时间也少几个数量级(在MRI下运行时)。它与FSC集成,并尝试自己进行一些基本的更改检测(相当原始)。它还对主要的Scala测试框架(ScalaTest、ScalaCheck和Specs)提供自动魔法支持,并支持与Java源代码的联合编译以及IntelliJ和Eclipse的IDE元生成。哦,它支持Maven的所有特性(依赖解析等),然后是一些。我甚至正在开发一个扩展,它允许交互式shell支持与JavaRebel集成,并支持多个shell提供者(Scala、JIRB、Clojure REPL等)。SVN还没有准备好,但我会在准备好后提交(可能会在1.3.5中及时提交)
正如您所看到的,我非常坚定地认为Buildr是最好的Scala构建工具。就Scala而言,它的文档有点参差不齐,但这是因为所有内容都非常简单,很难记录下来而不感到冗长。您可以随时查看其中一个示例。祝你好运 我对Eclipse上的scala插件也很失望,我可以在列表中添加一些问题:
- 自动完成仅在部分时间有效
- 调试器无法正常工作(特别是在尝试调试scala xml时)
- 调试器会忘记断点
- “转到定义”通常不起作用李>