2015-02-10 49 views
13

對於多參數方法,Spark代碼樣式需要四個字符縮進。所以:下面的代碼 - 如目前由IJ格式 - 是不正確:Intellij代碼樣式設置用於包裝多行函數參數

def generateCirclesRdd(sc: SparkContext, 
         nCircles: Int = 3, 
         nTotalPoints: Int = 30, 
         outerRadius: Double): RDD[(Long, Long, Double)] = { 

應該是很明顯:

def generateCirclesRdd(sc: SparkContext, 
    nCircles: Int = 3, 
    nTotalPoints: Int = 30, 
    outerRadius: Double): RDD[(Long, Long, Double)] = { 

哪裏是在IJ代碼風格此設置?屏幕截圖顯示了我能找到的內容。

enter image description here

UPDATE有關於 「選項卡和縮進」 評論這裏是:

enter image description here

另一個更新:@yole提供了一個有用的答案。但是,我仍然留下2個空格,而不是4個。

作爲參考,這裏是Spark中正確/必需的縮進。注意方法聲明的延續是4個空格。

def train(
     data: RDD[Vector], 
     k: Int, 
     maxIterations: Int, 
     runs: Int, 
     initializationMode: String, 
     seed: Long): KMeansModel = { 

但是在方法調用延續,是隻有兩個:

new KMeans().setK(k) 
     .setMaxIterations(maxIterations) 
     .setRuns(runs) 
     .setInitializationMode(initializationMode) 
     .setSeed(seed) 
     .run(data) 
+0

我猜想,你所需要的選項是「用於參數正常縮進」。 – yole 2015-02-10 07:42:19

+0

不錯的想法:不幸的是,改變沒有效果。 – javadba 2015-02-10 07:44:52

+0

左上角的Chek'Tabs and Indents'選項卡 – deathangel908 2015-02-10 07:48:44

回答

21

取消「方法聲明中的參數|時多對齊」,並啓用「使用參數正常縮進」。

+0

這是關閉的:我們需要4個空格作爲縮進,而不是兩個。我正在更新OP。 – javadba 2015-02-10 15:14:04

+0

我給了一個贊成票,表明你的答案至少是朝着正確方向邁出的一步。 – javadba 2015-02-10 15:20:53

+0

如果您需要4個空格,請禁用「爲參數使用正常縮進」。 – yole 2015-02-10 19:28:23

3

使「其他|用於構造函數指定參數和參數聲明有4位候補縮進」幫我終於

+0

中看到「使用正常縮進參數」設置,並且「Tabs and Indent | 2 2 2」 – huali 2017-06-05 12:11:06

+0

,這實際上是有線indentaion格式。 – huali 2017-06-05 12:15:40

2

在2017年,檢查所有的設置/編輯/ CodeStyle /的Java /包裝和括號選擇,其中線多行時名稱爲Allign。對我來說,它是在鏈式方法調用中進行檢查的,並且做出了這些長縮進。只要取消他們。

+0

是的! IntelliJ令我瘋狂,一直在尋求解決這個問題。謝謝 – Nobita 2018-01-26 16:43:09

0

還有就是你必須改變

  1. 取消選中方法聲明中的參數兩處選項| ALIGN當多

enter image description here

  • 檢查其他|對於構造函數指定參數和參數聲明交替縮進與4位
  • enter image description here

    +0

    你會發布截圖嗎?我在不同版本的IJ上 – javadba 2018-01-30 14:15:02

    相關問題