2016-10-10 53 views
1

這一直困擾着我,但我似乎無法弄清楚如何改變這種格式。讓我們一案類爲例:如何在IntelliJ Scala中的多行參數列表中指定縮進?

How I like my code formatted

我更喜歡續行後兩個選項卡;然而,似乎的IntelliJ迫使這種風格:

How IntelliJ wants to format code

這種行爲似乎是由Preferences -> Editor -> Code Style -> Scala -> Other -> Alternate indentation for constructor args and parameter declarations,指定一個最小值爲0的空間進行控制,而只是帶來了開幕括號中的ARG名單內聯。這本身並不是什麼大問題,但是每當我複製/粘貼代碼塊時,它都會重新格式化所有內容,我必須返回並切換標籤。有沒有我在某處丟失的風格字段?

+0

我想你知道你喜歡的風格違反Scala風格指南文檔,但無論如何他們在這裏:https://docs.scala-lang.org/style/declarations.html我也有我自己的喜好,但嘗試堅持風格指南除非問題沒有解決。它使其他Scala程序員更容易閱讀你的代碼。 – pferrel

回答

0

您也可以看看scalari-form plugin。它給了你更多和獨立的IDE。您對alignArguments = true感興趣,如果我沒有記錯的話,默認值應該根據需要進行縮進。

*注意,它格式化代碼後,一些SBT的任務,例如sbt test,而不是當您按下Ctrl+Alt+L或similiar中的IntelliJ

0

你想要的「對齊時,多行」中的代碼樣式設置檢查

enter image description here

+0

不幸的是,'在'方法調用參數'下調用'多行'時似乎不起作用。它也改變了大括號的對齊行爲。 – antikantian

+0

有一些項目:方法調用的方法調用和聲明的方法聲明。 – Dima

0

有一個的IntelliJ唯一的解決辦法:

Wrapping and Braces,禁用Method declaration parameters > Use normal indent for parameters

然後,在Other下,啓用Alternate indentation for constructor args and parameter declarations並將其設置爲您要從聲明級別縮進的空格數(在您的情況4中)。

相關問題