Il rientro della classe case di IntelliJ Scala Plugin è assurdo


138

Quando una classe di case ha molti campi e i loro nomi sono lunghi, è spesso una buona idea scrivere ogni campo in ogni riga come:

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

Questo assomiglia alla structdefinizione C / C ++ e totalmente leggibile anche quando la classe case diventa più grande. Ma il plugin Scala predefinito di IntelliJ IDEA cambia automaticamente la sua rientranza:

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

che mi sembra strano, ma la Scala Style Guide non menziona nulla sul rientro della classe case.

Non sono riuscito a trovare nulla nelle impostazioni IDE che possa modificare questo comportamento. Esiste un'opzione per far funzionare il rientro automatico come descritto sopra o disabilitare il rientro automatico per le classi di casi?


4
Indentazione nelle definizioni delle classi descritte qui: docs.scala-lang.org/style/declarations.html Dicono che sono necessari 4 spazi sulla nuova riga.
red1ynx,

@ red1ynx Sai come farlo?
Bin Wang

3
Ecco un problema relativo a youtrack.jetbrains.com/issue/SCL-4167 . Vai lì e vota se non ti piace questo comportamento.
kopiczko,

Risposte:


196

Prova File -> Impostazioni ... -> Stile codice -> Scala

Ci sono molte impostazioni per personalizzare la formattazione del codice lì dentro.

Nella scheda "Avvolgimento e parentesi graffe", sotto "Parametri di dichiarazione del metodo":

  • seleziona "usa rientro normale per i parametri"
  • deseleziona "Allinea quando multilinea"

Questo lo cambierà nell'esempio che hai fornito.

Se vuoi che utilizzi il rientro in "Rientro di continuazione" in "Schede e rientro" devi avere entrambe le opzioni sopra deselezionate.


24
Penso che anche tu debba disabilitare "Allinea quando multilinea".
FrontierPsycho,

E se volessi 4 spazi prima di esso?
Bin Wang

Basta cambiare il rientro in 4
Micho

6
@BinWang: deseleziona "usa rientro normale per i parametri" e "Allinea quando multilinea" e imposta "Rientro di continuazione" su 4 in "Schede e rientro"
ingara

7
Se si desidera il rientro di 4 spazi (secondo le guide dello stile Scala) in 'File -> Impostazioni ... -> Stile codice -> Scala -> Altro' check 'Rientro alternativo per args del costruttore e dichiarazioni di parametri' con 4
Raman Yelianevich
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.