2015-12-03 18 views
12

Come posso ottenere formato Intellij mio Scala definizione di classe in questo modo:Intellij Scala definizione di classe formattazione

sealed class Traffic(
    private[this] val javaTraffic: Traffic.JavaTraffic, 
    private[this] val sanitizer: Sanitizer) 
    extends Serializable with Logger { 

fondamentalmente 4 trattini per dichiarazione di membro su ogni linea, e 2 rientri per l'ereditarietà delle classi.

+0

Ci sono un sacco di opzioni nel menu Preferenze, sotto Editor> Stile codice> Scala. Per quanto riguarda quelli che vuoi specificamente, lo lascerò come esercizio per il lettore ... – childofsoong

+0

@soong Ho giocato con quelle impostazioni per giorni ma non riuscivo ancora a farlo funzionare esattamente come lo voglio io – elgoog

+0

se questo è il caso, potresti essere sfortunato - potrebbe essere che gli sviluppatori di scala di scala non considerassero probabile quel caso specifico. Personalmente, mi aspetterei che la linea con le parentesi di chiusura fosse tutta a sinistra, poiché quella con i parents di apertura era lì. Può essere che si aspettano la stessa cosa. – childofsoong

risposta

2

A partire dalla versione 2016,2 questo può essere fatto facendo i prossimi cambiamenti dal predefinito in Settings > Editor > Code Style > Scala:

  1. Deseleziona Method declaration parameters > Align when multiline sotto Wrapping and Braces.
  2. check Alternate indentation for constructor args and parameter declarations sotto Other e impostarlo su 4.

Unico inconveniente è che questo vale non solo per parametri del costruttore, ma alle dichiarazioni metodo normale e, in modo non si può avere il metodo PARAMS allineata con parentesi aperta . Ma suppongo che dovremo vivere con quello.