come si può ottenere IntelliJ per generare getter/setter su una linea come questa:IntelliJ getter/setter formato
public String getAbc() { return abc; }
Invece di
public String getAbc() {
return abc;
}
??
come si può ottenere IntelliJ per generare getter/setter su una linea come questa:IntelliJ getter/setter formato
public String getAbc() { return abc; }
Invece di
public String getAbc() {
return abc;
}
??
Non ci sono modelli né per getter né per equals/hashcode. Questi sono hardcoded in IDEA.
Si può vedere che in questo IntelliJ Wishlist
Lei non ha menzionato quale versione di IDEA che si sta utilizzando, quindi immagino che la recente 8 o 9.
Controllare le impostazioni del codice di stile, sotto "Allineamento e bretelle". Lì dovresti trovare l'opzione "Metodi semplici in una riga".
Siamo 8.1.3. Tuttavia, non sembra funzionare .. –
Hai provato a deselezionare la relativa casella "Interruzioni di riga" nel gruppo "Keep When Reformatting"? – seh
L'impostazione a riga singola indica a IntelliJ di lasciarlo in questo modo su un reformat, ma non di crearlo in quel modo. –
Non so perché si vuole fare questo, presumibilmente per risparmiare spazio visivo. Se è così, basta usare la funzione di IntelliJ per chiudere getters/setter banali e dimenticare come le linee ci vogliono. caratteristica pieghevole può essere trovato in
Impostazioni -> Impostazioni IDE -> Editor -> Codice pieghevole -> Visualizza codice di struttura pieghevole -> Proprietà di accesso semplice
sto usando IntelliJ IDEA 14.1.0 e si può personalizzare questo comportamento.
Basta utilizzare l'opzione "Genera ..." oppure usa Alt +Inserire di scelta rapida e selezionare "getter e setter".
Nella finestra "Seleziona campi" che viene aperta, è disponibile l'opzione "Modello Getter" nella parte superiore. Utilizza il pulsante "..." accanto al menu a discesa, per modificare il modello.
Selezionare "IntelliJ Default" e fare clic sul pulsante "Copia" per crearne uno nuovo denominato "AlwayStartWithGet", che è possibile modificare.
Basta togliere la sezione seguente:
#if ($field.boolean)
#if ($StringUtil.startsWithIgnoreCase($name, 'is'))
#set($name = $StringUtil.decapitalize($name))
#else
is##
#end
#else
get##
#end
e sostituirlo con un semplice
get##
Si dovrebbe essere lasciato con:
publiC##
#if($field.modifierStatic)
statiC##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
get##
${name}() {
return $field.name;
}
Ora è possibile utilizzare il modello personalizzato durante la generazione del codice, selezionandolo nel menu a tendina getter template.
Questo sembra promettente, ma non vedo un pulsante modello Getter nella parte superiore di questa finestra di dialogo. Utilizzando 14.0.2. – Gervase
Ha funzionato per me, ma per essere precisi l'ultima parte del modello dovrebbe essere simile a: '$ {nome}() {return $ field.name; } ' in una riga –
Assicurarsi di controllare anche Impostazioni/codice Stile/Java/Blocchi semplici in una riga e Metodi semplici in una riga. Altrimenti, la formattazione automatica inserirà nuovamente le linee e non vedrai alcun effetto dopo aver modificato il modello ... – werner
Per Idea 2016.
modello Getter
Unire le ultime 3 linee in una sola riga:
${name}() { return $field.name; }
modello Setter
Aggiungi doppio hash (senza spazio) alla fine del linea più lunga:
[...] ($field.type, $paramName) {##
fondere le ultime 2 righe in un'unica riga:
$field.name = $paramName; }
Nota: come commentato da @mindas, probabilmente si vuole invece la piegatura automatica visiva che non viene versione.
Ci sono ora (io uso Ultimate 2016) - vedi le risposte sotto – werner