Eclipse: puoi formattare il codice al salvataggio?


124

In Eclipse, in Windows-> Preference-> Java-> Code Style, puoi definire modelli di codice per commenti e codice e puoi impostare un formattatore di codice.

Mi chiedo se in Eclipse sia possibile che queste impostazioni abbiano effetto ogni volta che salvo un file sorgente. Fondamentalmente, invece di evidenziare tutto e premere Ctrl+ Shift+ F, voglio che Eclipse sia responsabile di assicurarmi che il mio codice sia formattato correttamente.

È possibile e come lo configuri?

Nota sull'utilizzo della formattazione automatica: probabilmente è meglio scegliere "Formato righe modificate" poiché l'unione delle modifiche diventa molto difficile quando si riformatta un intero file che si trova già nel controllo del codice sorgente che non è stato formattato correttamente. L'ho già fatto a un collega.


4
Ottima domanda, ma non sono d'accordo con l'attivazione di "Formato righe modificate". Se l'intero team ha accesso allo stesso formato XML descrittore tramite SCM, il team dovrebbe aspettarsi che i propri file vengano riformattati. In altre parole, il dolore a breve termine della fusione vale il vantaggio di una formattazione coerente.
HDave

2
@Have d'accordo. Il codice dovrebbe in qualsiasi momento essere affidabile contro un "Format Source" su tutti i progetti.
Thorbjørn Ravn Andersen

@ ThorbjørnRavnAndersen Se tutti utilizzano queste impostazioni, puoi selezionare "Formato linee modificate". Risparmierai un po 'di tempo se i tuoi file sono di grandi dimensioni. Sono d'accordo con te sulla necessità che il codice sia robusto contro un "Format Source", ma non è compito di eclipse assicurarsi che sia così, credo.
brimborium

@brimborium una decisione politica. Personalmente credo che più ti avvicini alle impostazioni predefinite, più le cose andranno bene.
Thorbjørn Ravn Andersen

1
@ ThorbjørnRavnAndersen Ciò significherebbe che l'opzione di formattazione automatica è disattivata ...;) Voglio dire, salvo sempre con Ctrl+Shift+Fseguito da Ctrl+S, quindi per me andrebbe bene, ma ci sono altri ragazzi a cui non interessa la formattazione. Questa caratteristica rende la nostra vita molto più facile ...
brimborium

Risposte:


204

In Preferences, scegli Java-> Editor-> Save Actions. Seleziona Perform the selected actions on savee seleziona la Format source codecasella.

Questo può o non può essere disponibile nelle versioni precedenti di Eclipse. So che funziona in:

Version: 3.3.3.r33x_r20080129-_19UEl7Ezk_gXF1kouft<br>
Build id: M20080221-1800

3
Sembra molto utile: esiste un modo per ottenere lo stesso risultato con il codice PHP?
Vacilando

3
Bene, ma come fai lo stesso per i file non Java?
ᆼ ᆺ ᆼ

@ PéterVarga se stai usando PyDev, controlla questo
grisaitis,

1
Sembra molto utile: c'è un modo per ottenere lo stesso risultato con il codice C ++?
HAL9000

15

Consiglio vivamente di controllare il descrittore xml del formato eclipse nel controllo del codice sorgente. In questo modo tutti i membri del team possono usarlo e non puoi riformattare le battaglie avanti e indietro.


È possibile farlo in modo che il file XML sia installato per impostazione predefinita?
HDave

12

Ho un'istantanea dell'ambientazione. Si prega di seguire il percorso:

Nella Preferencesfinestra, scegli Java-> Editor-> Save Actions.

Controllare il Perform the selected actions on savee controllare il Format source code box.

inserisci qui la descrizione dell'immagine


2

Se trovi che non hai una Save Actionspreferenza sotto Java-> Editor, potrebbe essere perché stai usando una versione precedente di Eclipse. In tal caso puoi installare il plugin Formato al salvataggio da qui .

Quindi, sotto Preferences, scegli Java-> Format on save. Seleziona l' Run Formatopzione sottoSelect a code formatting action

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.