2014-11-12 2 views
110

Когда класс случая имеет много полеев и их имена длинные, часто это хорошая идея, чтобы написать каждое поле в каждой строке, например:IntelliJ Scala писать софт абсурдны

case class Person (
    name: String, 
    age: Int 
) 

Это напоминает C/C++ struct и полностью читается, даже когда класс case становится больше. Но по умолчанию Scala плагин IntelliJ IDEA автоматически меняет отступы:

case class Person (
        name: String, 
        age: Int 
        ) 

, который выглядит странно для меня, но Scala Style Guide ничего не знает о случае класса отступа не упоминать.

Я не смог найти ничего в настройках IDE, которые могут изменить это поведение. Есть ли способ сделать работу с автоматическим отступом, как описано выше, или отключить автоматическое отступы для классов case?

+4

Отступы в определениях классов, описанные здесь: http://docs.scala-lang.org/style/declarations.html Говорят, что в новой строке требуется 4 пробела. – red1ynx

+0

@ red1ynx Знаете ли вы, как это сделать? –

+3

Вот проблема, связанная с тем, что https://youtrack.jetbrains.com/issue/SCL-4167. Пойдите туда и проголосуйте, если вам не нравится это поведение. – kopiczko

ответ

143

Try Файл -> Настройки ... -> Code Style -> Scala

Есть много параметров, чтобы настроить ваш код форматирования там.

В «Обертывании и брекеты вкладке» под заголовком «параметры объявления методы»:

  • чек «использовать нормальный отступ для параметров»
  • снимите флажок «Align при многострочном»

Это изменит его на пример, который вы предоставили.

Если вы хотите использовать отступы в «Отступе продолжения» в разделе «Вкладки и отступ», вы должны снять обе опцию выше.

+19

Думаю, вам также нужно отключить «Выровнять по многострочной линии». – FrontierPsycho

+0

Что делать, если я хочу до 4-х пробелов? –

+0

Просто измените отступ на 4 – Micho