如何使用Scala变得更有成效? (工具,IDE)
人们使用什么工具来使用Scala?对于我的学习阶段,我使用了Scala REPL,并将一些代码与TextMate相连,并用scalac CLI进行了编译。但随着项目规模的扩大,需要更复杂的工具。
我知道Elipse,IntelliJ和Netbeans的Scala插件,我都试过了。最好的是IMHO IntelliJ,但仍然远离完美。 我遇到的主要问题是缺乏自动完成。作为不太先进的Scala编码器,我仍然不知道整个标准API,并且必须定期在Scaladoc和IDE之间切换。这感觉像“杀死生产力”。但是他们都无法自动完成方法参数。 (我听说方法参数不包括在编译的scala代码中,但是如何附加源来执行自动完成?) 另一个非常令人讨厌的问题是构建过程。我正在使用Maven构建我的Scala项目并管理其依赖。但是,我必须做一个完整的重建来测试我的变化。也许我被Java世界中可用的Eclipses增量重建所宠坏了,但对我来说感觉像是一个大问题。 我非常喜欢Scala,而在编码时感觉更有效率,但缺乏复杂的工具让我感觉生产效率降低。两者似乎都取消了自己。 那么,我的问题是什么?我怀疑每一个Scala程序员使用好的ol’vim或emacs和scalac一起做他们的工作。那么你使用什么工具?您开发了哪些工作流程,以提高Scala语言的开发速度? 编辑 说明自动完成方法参数。 val myList = "foo" :: "all your base" :: Nil myList.partition(_.length > 3) 对于上面的代码,IntelliJ无法为我提供分区需要的信息,我必须通过a()=>布尔函数。事实上,IntelliJ并没有检查这个约束。我可以传递一个String,IntelliJ不会指出我的错误,直到我编译。 解决方法
scalac
熟悉Scalac的命令行选项。 > -deprecation 最新的scalac的每夜构建包括一个bash完成文件,使其更容易使用。 IntelliJ IDEA 使用Javadoc(CTRL-Space,CTRL-Q / Apple-J)Screenshot完成方法 问题(CTRL-P)Screenshot中的示例的参数信息 方法参数完成(CTRL-SHIFT-Space)。 Screenshot 您需要将源或javadocs链接到IntelliJ中的依赖项以查看Javadoc。 它目前没有突出显示类型错误,因为复杂代码中仍然有太多的假阳性。这是即将到来的。 简单构建工具 SBT保持编译器驻留,并分析类之间的依赖关系,以允许增量重新编译。它还可以监视源文件的更改,并自动触发重新编译和/或测试执行。 >连续编译:>?compile 我在http://github.com/scalaz/scalaz中配置了SBT和IntelliJ项目,您可以使用它作为参考。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |