我認爲你和Idea以及SBT在正確的軌道上。你有沒有試過
~compile
這將自動檢測到你的源的變化。對於Web應用程序,你可以做後面
~prepare-webapp
一個
jetty-run
要不斷編譯和重新部署應用到碼頭。讓Scala開發者感覺很像Python網站開發。
通常我發現編譯時SBT速度非常快,尤其是您所談論的大小文件。當我保存我的更改並轉到我的SBT提示符時,就完成了。
另一個方便的SBT方面是REPL將加載你的項目和它的依賴:
console
你可以裝任何編譯變化與
:replay
在斯卡拉REPL
。
編輯: 猜猜我應該提到,你可以玩一個簡單的類與主要方法。如果您創建一個名爲src /主/斯卡拉/文件Foo.scala看起來像這樣:
object Foo {
def main(args: Array[String]) {
println("Hello World")
}
}
和文件工程/建造/ Build.scala這樣的:
import sbt._
class Build(info: ProjectInfo) extends DefaultProject(info) {
override def mainClass = Some("Foo")
}
在
然後sbt提示符,你可以做
~run
要不斷編譯並運行Foo.main方法。您可能需要先在sbt中進行「重新加載」。從保存更改到查看輸出似乎需要2-3秒。然後,您只需編輯,保存並查看更改。這是一個非常好的工作流程。
此外,不要忘記REPL - 絕對是學習Scala的關鍵工具。你可以通過交互方式學習一些東西。
它實際上是30秒還是隻是額外的步驟使它看起來如此? – sblundy 2011-01-11 18:44:10
我也做過Scala編譯器非常慢的經驗。通過使用Scala編譯服務器可以緩解這一點。編譯完成後,這個程序不會終止。編譯服務器運行時,使用命令「fsc」而不是「scalac」來編譯。我在IntelliJ IDEA中使用它,但我不使用SBT,也不知道如何在SBT中使用Scala編譯服務器。也許你可以谷歌,或者也許別人知道更多關於這個話題。 – Madoc 2011-01-11 19:16:07
下次我有機會再次與Scala坐下時,我必須看看實際的時間戳。這可能看起來很長...... – mmatey 2011-01-11 19:17:35