O recuo da classe de caso do IntelliJ Scala Plugin é absurdo

138

Quando uma classe de caso tem muitos campos e seus nomes são longos, geralmente é uma boa idéia escrever cada campo em cada linha, como:

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

Isso se assemelha à structdefinição de C / C ++ e é totalmente legível, mesmo quando a classe de caso se torna maior. Mas o plugin Scala padrão do IntelliJ IDEA altera automaticamente seu recuo:

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

o que me parece estranho, mas o Guia de Estilo Scala não menciona nada sobre o recuo da classe de caso.

Não encontrei nada nas configurações do IDE que possa alterar esse comportamento. Existe uma opção para fazer a indentação automática funcionar da maneira descrita acima ou desativar a indentação automática para classes de casos?

lyomi
fonte
4
Recuo nas definições de classe descritas aqui: docs.scala-lang.org/style/declarations.html Dizem 4 espaços necessários na nova linha.
Red1ynx
@ red1ynx Você sabe como fazer isso?
Bin Wang
3
Aqui está um problema relacionado ao youtrack.jetbrains.com/issue/SCL-4167 . Vá lá e vote se você não gosta desse comportamento.
Kpopzko # 13/15

Respostas:

196

Tente Arquivo -> Configurações ... -> Estilo do código -> Scala

Existem muitas configurações para personalizar sua formatação de código.

Na guia "Embrulho e chaves", em "Parâmetros de declaração de método":

  • marque "usar recuo normal para parâmetros"
  • desmarque a opção "Alinhar quando for multilinha"

Isso mudará para o exemplo que você forneceu.

Se você deseja usar o recuo em "Recuo de continuação" em "Guias e recuo", é necessário ter as duas opções acima desmarcadas.

Micho
fonte
24
Eu acho que você também tem que desativar "Alinhar quando multilinha".
FrontierPsycho
E se eu quiser 4 espaços antes dele?
Bin Wang
Basta alterar o recuo para 4
Micho
6
@BinWang: Desmarque a opção "utilizar travessão normal para os parâmetros" e "Alinhar quando várias linhas" e set "Continuação travessão" a 4 em "Tabs e recuo"
ingara
7
Se você quiser recuo de 4 espaços (de acordo com os guias de estilo do Scala) em 'Arquivo -> Configurações ... -> Estilo do código -> Scala -> Outro' check '
Recuo