mma*_*tey 6 workflow scala intellij-idea sbt
我来自PHP/Python/Javascript背景,最近对Scala非常感兴趣 - 特别是来自网络立场的Akka.
我有一个非常困难的时间,虽然有一般的工作流程,与我所描述的解释语言相比的问题.
一般来说,我倾向于编码,测试结果,代码和重复.即使更改20行类中的单行需要30秒来编译和运行,这也会停滞不前.这真的很正常吗?我是否需要构建,构建,构建然后返回30分钟或一小时后编译/测试?
(我正在使用IDEA和SBT)我是否需要专门学习如何使用Maven而不是链接到回购?
思考?建议吗?
我认为你与Idea和SBT走在了正确的轨道上.你有没有尝试过
~compile
Run Code Online (Sandbox Code Playgroud)
这将自动检测源的更改.对于Web应用程序,您可以执行此操作
jetty-run
Run Code Online (Sandbox Code Playgroud)
其次是
~prepare-webapp
Run Code Online (Sandbox Code Playgroud)
连续编译并将您的应用程序重新部署到码头.使Scala开发感觉很像Python Web开发.
通常我在编译时发现SBT非常快,特别是你正在谈论的大小文件.当我保存我的更改并转到我的SBT提示时,它就完成了.
另一个方便的SBT方面是REPL,它将加载您的项目及其依赖项:
console
Run Code Online (Sandbox Code Playgroud)
您可以使用重新加载任何已编译的更改
:replay
Run Code Online (Sandbox Code Playgroud)
在scala REPL中.
编辑:猜猜我应该提到你可以用一个简单的类与主方法玩.如果您创建一个名为src/main/scala/Foo.scala的文件,如下所示:
object Foo {
def main(args: Array[String]) {
println("Hello World")
}
}
Run Code Online (Sandbox Code Playgroud)
和这样的文件项目/ build/Build.scala:
import sbt._
class Build(info: ProjectInfo) extends DefaultProject(info) {
override def mainClass = Some("Foo")
}
Run Code Online (Sandbox Code Playgroud)
然后在sbt提示符下,你可以做到
~run
Run Code Online (Sandbox Code Playgroud)
连续编译并运行Foo.main方法.您可能需要先在sbt中执行"重新加载".从保存更改到看到输出似乎需要2-3秒.然后你只需编辑,保存并查看更改.这是一个非常好的工作流程.
另外,不要忘记REPL - 绝对是学习Scala的重要工具.你可以通过互动方式学习它.
| 归档时间: |
|
| 查看次数: |
732 次 |
| 最近记录: |