2010-09-16 53 views
5

我現在很好地學習Scala並非常享受它;我希望能夠啓動未來的項目,而不是Java。我更少享受的是相對較差的IDE支持。我發現IDEA和Eclipse與Scala插件(包括每晚構建)都有點不可靠或難以使用 - 我想要一些我始終可以依賴的東西。例如。昨天我無法得到一個新的安裝eclipse +插件來運行我的測試,甚至打開編輯窗口!如何在沒有IDE依賴的情況下構建/測試Scala?

我正在考慮,這取決於Eclipse的/ IDEA之間跳躍在手適合任務最好,更重要的是切斷我依賴的IDE構建和運行測試(ScalaTest)。這對我來說並不重要,因爲我已經在Eclipse中成長爲Java;讓Eclipse SVN使用GIT最初是一件大事。鑑於我只有時間學習一種工具,它應該是Ant,Maven,buildr,sbt,....?其他人如何工作?

回答

10

我都用了Maven和SBT使用Scala,發現兩者很容易使用。

然而,SBT感到更加接近斯卡拉作爲其構建文件都寫在斯卡拉本身(而不是在Maven的XML)和SBT功能構建REPL,已經連續編譯和測試等

所以我會建議你使用sbt來完成一個簡單的Scala項目。

,但如果你想創建標準的Java項目,如WAR,EJB等,我覺得像Maven有對他們提供更好的支持。

而且Maven有一個巨大的生態系統插件,使你做幾乎所有,代碼覆蓋率,報告,代碼標準檢查,文檔生成,以及更多。

1

編輯:Uuuups。抱歉。其實我誤解了你的問題,只評論了IDE。當涉及到建設我使用使項目;),因爲它可以很好地集成到Vim中

,而我不想做沒有IDE任何Java項目,目前,我正在做一個相當大的項目只是Vim 。我知道這是一種相當「石器時代的做法」,但它工作得很好。

一方面我被車/慢/缺少斯卡拉支持所有的IDE夠了。我嘗試過Scala,netbeans和IDEA,並發現與他們(在斯卡拉)工作相當痛苦。另一方面,Scala有一些屬性可以幫助使用簡單的編輯器:在一個文件中可以有更多的類,因此我通常將整個包定義在一個文件中,這個文件不會變得太大,因爲Scala班級通常非常小(甚至非常小)。所以我通常每次只打開兩個或三個文件,因此不需要打包/文件管理。

我無法通過語言標籤獲得代碼摺疊工作,但如果您堅持使用Scala的縮進約定,可以通過縮進摺疊起作用。

有一件不起作用的是自動完成。但話又說回來,這讓我寫更多的鬆散耦合的對象;)

+0

很高興聽到更'硬核'的方法:)這件事會讓我擔心它會重新分解。我通常不會第一時間把事情做好,並且要比我應該重新考慮更多的因素。 – Pengin 2010-09-16 09:56:24

+1

沿着這些路線,我聽說emacs + sbt + ENSIME是一個很好的組合(並且ENSIME會重構!)。更多關於這個scala用戶線程:http://scala-programming-language.1934581.n4.nabble.com/Best-free-IDE-for-Scala-td2533572.html – 2010-09-17 01:19:59

+0

@Pengin:就像上面寫的那樣,我傾向於由於缺乏自動完成而編寫更鬆散耦合的類系統。所以通常重構需要5分鐘或更少的時間 – Agl 2010-09-17 07:00:22

3

我會使用SBT與IDEA。雖然我沒有嘗試過,但我知道有一些支持SBT和IDEA的整合。

無論如何,SBT是所有斯卡拉建設&測試需求的絕佳基礎。

+0

SBT和IDEA整合比以往更好。這是夢幻般的! – film42 2014-10-20 00:35:20

1

Buildr支持Scala和Java作爲一流的語言,支持ScalaCheck和ScalaSpecs,當然也有足夠的插件使其成爲Maven的有力競爭者。

0

只需加我兩分錢。我想你也應該試試Netbeans。它應該是三大玩家中最具斯卡拉友好的(Eclipse,Idea和Netbeans)。

我一直有很多的樂趣與Netbeans的6.8和Scala-2.8.0.r22602-b20100720020114

它是公平地說,我現在就不會編程斯卡拉,如果它不是爲Netbeans插件。我花了一段時間試圖讓它與其他人一樣順利地工作,但沒有取得太大的成功。

我使用Netbeans進行開發,Ant用於獨立構建。在這裏爲Scala配置Ant的信息: http://scriptlandia.blogspot.com/2007/04/how-to-compile-and-run-scala-program.html

相關問題