2011-07-09 41 views
2

我使用Eclipse使用Scala插件,每次我這樣做val之後是否有縮進的Scala編碼標準?

val blah = "test" 

,然後按Enter鍵,IDE會自動縮進到下一行。我想知道這是一種編碼習慣還是一些奇怪的IDE怪癖。

+9

我的猜測是,這是一個擱置語句的語句,用';'結束語句 - IDE猜測語句沒有結束,並在下一行繼續,因此應該縮進。它當然不是一個Scala編碼標準。 –

回答

5

這絕對只是在斯卡拉-IDE一個小bug。該插件有很多小格式問題。但是,如果你想讓自己的生活變得棒極了,那麼你可以點擊CTRL + SHIFT + F(在Mac上CMD + SHIFT + F),它會自動格式化你的代碼並糾正這些小問題。

編輯:順便說一下,它似乎有這個問題的門票出來。見thisthis。我向他們中的一個添加了關於這個確切問題的評論,所以希望它能在隊列中得到解決。

1

這是一個IDE怪癖。

0

它不應該這樣做,除非它被格式化選項配置斯卡拉下 - >格式化

0

在內部,Scala-IDE使用scalariform https://github.com/mdr/scalariform scala代碼格式化程序。它提供了相當有限的可配置性(恕我直言),特別是關於花括號的放置以及代碼塊的縮進方面。它只支持大括號的scala風格標準。

如果函數值或定義的第一行以等號結尾(例如,gnu-style,這是我工作的某些項目上的標準),則會出現類似問題(後續行的自動縮進) )。這裏有一個GNU風格的功能,高清的例子:

def receive = 
{ 
    case "ping" => sender ! "pong" 
} 

這裏就是格式化將其轉換爲:

def receive = 
    { 
    case "ping" => sender ! "pong" 
    } 

我還沒有發現任何其他代碼格式化,所以希望梯狀將獲得一些額外的在某些時候的靈活性。