您使用什么工具来使用Scala?在我的学习阶段,我使用了Scala REPL并使用TextMate攻击了一些代码并使用scalac
CLI 编译它.但随着项目规模的扩大,需要更复杂的工具.
我知道Elipse,IntelliJ和Netbeans的Scala插件,我尝试了所有这些插件.最好的一个是恕我直言,但仍然远非完美.
我遇到的主要问题是缺乏自动完成功能.作为一个不那么先进的Scala编码器,我仍然不知道整个标准API,并且必须定期在Scaladoc和IDE之间切换.这感觉就像"杀死生产力".但他们都无法自动完成方法论证.(我听说方法参数不包含在编译的scala代码中,但是如何将source附加到自动完成?)
另一个非常烦人的问题是构建过程.我正在使用Maven来构建我的Scala项目并管理它们的依赖项.但是,我必须进行全面重建以测试我的更改.也许我被Java世界中的日食增量重建所破坏,但这对我来说感觉像是一个大问题.
我喜欢斯卡拉非常多,我觉得这样更高效,同时编码,但缺乏sophisticed工具,让我感觉不太生产力.两者似乎都取消了自己.
那么,我的问题是什么?我怀疑每个Scala程序员都使用良好的ol' vim
或者emacs
与scalac
他们一起工作.那么你使用什么工具?您开发了哪些工作流程以加快Scala语言的开发速度?
通过自动完成方法参数来澄清我的内容.
val myList = "foo" :: "all your base" :: Nil
myList.partition(_.length > 3)
Run Code Online (Sandbox Code Playgroud)
对于上面的代码,IntelliJ无法向我提供分区要求我必须传递() => Boolean
函数的信息.事实上,IntelliJ不会检查这种约束.我可以传递一个String
并且IntelliJ不会指示我的错误,直到我编译.
ret*_*nym 15
熟悉Scalac的命令行选项.
-deprecation
-Xprint:all
:通过编译器阶段观察代码进度,非常有用,可以查看应用的含义.-help
/ -X' /
-Y`列出所有选项.scalac的最新夜间版本包含一个bash完成文件,使这些文件更易于使用.
使用Javadoc(CTRL- Space,CTRL- Q/ Apple-J)完成方法截图
问题中示例的参数信息(CTRL- P)屏幕截图
方法参数完成(CTRL- SHIFT- Space).截图
您需要将源或javadoc链接到IntelliJ中的依赖项以查看Javadoc.
它目前不会突出显示类型错误,因为复杂代码中仍有太多误报.不过这很快就会到来.
SBT使编译器保持驻留状态,并分析类之间的依赖关系以允许增量重新编译.它还可以监视源文件的更改并自动触发重新编译和/或测试执行.
>~compile
~test-quick
我在http://github.com/scalaz/scalaz中配置了SBT和IntelliJ项目,您可以将其用作参考.
归档时间: |
|
查看次数: |
8433 次 |
最近记录: |