在这里我看到了关于IDE的问题--哪个是Scala开发的最佳IDE?和Scala工具的当前状态是什么?,但我对IDE有着各种各样的经验。目前,我正在使用自动工作区刷新选项的Eclipse IDE和KDE 4的Kate作为我的文本编辑器。以下是我想要解决的一些问题:
- 使用自己的编辑器 IDE实际上是面向每个人使用其组件的。我更喜欢Kate,但是刷新系统非常烦人(它不使用inotify,而是可能10秒轮询间隔)。我不使用内置文本编辑器的原因是损坏的自动完成功能会导致IDE挂起大约10秒。
- 只重建修改的文件 Eclipse构建系统存在问题。它不知道何时重新构建类。我发现自己几乎有一半的时间都要去project->clean。更糟糕的是,即使它已经完成了项目的构建,几分钟后它也会弹出一些奇怪的错误(编辑 - 这些错误似乎是以前通过project>clean解决的问题,但后来又出现了...)。最后,将“首选项/如果项目包含错误则继续启动”设置为“提示”似乎对Scala项目没有影响(即使有错误也总是启动)。
- 构建自定义 我可以使用“夜间”版本,但我想要修改并使用自己的Scala构建,而不是内置到IDE插件中的编译器。还可以将[例如]
-Xprint:jvm
传递给编译器(以打印降级代码)。 - 快速编译 尽管Eclipse并不总是构建正确,但它似乎很迅速--甚至比
fsc
还要快。
我看过Ant和Maven,但还没有使用过任何一个(在解决#3和#4之前也需要花时间)。我想在我把不太理想的构建系统搞定之前看看是否有其他建议。提前感谢!
更新 - 我现在正在使用Maven,将项目作为编译器插件传递给它。它似乎足够快;我不确定Maven进行了什么类型的jar缓存。Scala 2.8.0的当前仓库可用[链接]。原型非常酷,跨平台支持似乎非常好。但是,关于编译问题,我不确定fsc是否实际上已经修复,或者我的项目是否足够稳定(例如类名称不会改变)-手动运行它不会太困扰我。如果您想看一个示例,请随意浏览我正在使用的pom.xml文件[github]。
更新2 - 根据我看到的基准测试,Daniel Spiewak是正确的,buildr比Maven更快(如果进行增量更改,则Maven的10秒延迟很烦人),因此如果可以制定兼容的构建文件,则可能值得尝试...