Come faccio a cambiare Eclipse per utilizzare gli spazi anziché le schede?


895

Per impostazione predefinita, rientra Eclipse con un carattere di tabulazione. Come lo cambio in spazi?


43
@ i3ensays perché le schede sono presentate in modo diverso in diversi editor o ambienti mentre gli spazi sono sempre coerenti.
mmmdreg

29
@mmmdreg esattamente il mio punto. gli spazi sono rigidi e dispendiosi. L'uso delle schede offre allo spettatore la libertà di configurare il proprio editor come desiderato. Mi piace che le mie schede vengano visualizzate come 2 spazi, il mio collega 4. Questo non è possibile senza l'uso delle schede. Il mio collega qui, e io, combattiamo gli spazi quando ognuno di noi formatta nei rispettivi editor; le schede non sono un problema; ecco perché sono stati inventati (sospetto).
i3ensays

15
@ i3ensays amen, fratello! Sto cercando di far capire questo concetto da oltre 10 anni ( rizzoweb.com/java/tabs-vs-spaces.html ). Ciò che mi allarma davvero è che, come programmatori, penseresti che tutti capiscano il concetto di astrazioni (una scheda è un'astrazione del rientro del codice, mentre un numero fisso di spazi è un'implementazione codificata) - ma ahimè, sembra che molti programmatori non possono vedere l'astrazione qui.
E-Riz,

28
@ i3ensays Il tuo team dovrebbe avere uno standard di codifica che indichi chiaramente come viene formattato il codice. Ciò risparmierebbe tempo impedendo le battaglie che menzioni. Dovresti adottare uno al più presto, ma quello standard al 100% affermerà sicuramente che le schede non devono mai essere utilizzate perché questa guerra santa è stata vinta dalle "persone dello spazio" anni fa, quindi uno standard non ti aiuterà. A parte i problemi di allineamento, uno dei motivi principali degli spazi è che gli strumenti di controllo delle revisioni e i revisori del codice non dovranno affrontare questo problema. Ho iniziato dalla tua parte di questa battaglia 20 anni fa, ma alla fine ho imparato ad abbracciare lo spazio.
Gufo notturno,

12
Il motivo è che le persone finiranno inevitabilmente con combinazioni di schede e spazi e in alcuni editor il codice non verrà visualizzato correttamente. Se tutti usano solo spazi, questo non è mai un problema.
Eamonn McEvoy,

Risposte:


1239

Editor Java

  1. Fai clic su Finestra » Preferenze
  2. Espandi Java » Stile codice
  3. Fai clic su Formatter
  4. Fai clic sul pulsante Modifica
  5. Fai clic sulla scheda Rientro
  6. In Impostazioni generali , imposta il criterio Tab su:Spaces only
  7. Fai clic su OK fino alla nausea per applicare le modifiche.

[ Nota : se necessario, salvare il profilo con un nuovo nome come profilo predefinito non può essere sovrascritto.]

Editor di testo predefinito

Prima della versione 3.6:

Window->Preferences->Editors->Text Editors->Insert spaces for tabs

Versione 3.6 e successive:

  1. Fai clic su Finestra » Preferenze
  2. Espandi Generale » Editor
  3. Fai clic su Editor di testo
  4. Seleziona Inserisci spazi per le schede
  5. Fai clic su OK fino alla nausea per applicare le modifiche.

Si noti che l'editor di testo predefinito viene utilizzato come base per molti editor non Java in Eclipse. È sorprendente che questa impostazione non fosse disponibile fino al 3.3.

C / C ++

  1. Fai clic su Finestra » Preferenze
  2. Espandi C / C ++ » Stile codice
  3. Fai clic su Formatter
  4. Fai clic sul pulsante Nuovo per creare un nuovo profilo, quindi OK per continuare
  5. Fai clic sulla scheda Rientro
  6. In Impostazioni generali , imposta il criterio Tab su:Spaces only
  7. Fai clic su OK fino alla nausea per applicare le modifiche.

HTML

  1. Fai clic su Finestra » Preferenze
  2. Espandi Web » File HTML
  3. Fai clic su Editor
  4. In Formattazione , selezionare il pulsante di opzione Rientro mediante spazi
  5. Fare clic su OK per applicare le modifiche.

CSS

Seguire le stesse istruzioni per HTML, ma selezionare File CSS anziché File HTML .

JSP

Per impostazione predefinita, i file JSP seguono le preferenze di formattazione per i file HTML.

XML

La spaziatura dei file XML è configurata in Preferenze.

  1. Fai clic su Finestra » Preferenze
  2. Espandi XML » File XML
  3. Fai clic su Editor
  4. Seleziona rientro usando gli spazi
  5. Se necessario, è possibile specificare la dimensione del rientro: numero di spazi da rientrare.

19
Per coloro che hanno installato MyEclipse o qualsiasi altro IDE basato su Eclipse, è possibile che un altro editor abbia la precedenza sulle impostazioni. Questo è stato il caso di MyEclipse e JavaScript. L'impostazione "Inserisci spazi per schede" era abilitata in Editor di testo, ma le schede venivano ancora utilizzate al posto degli spazi. Stavo per chiamarlo un giorno e scriverlo come un bug, ma poi ho visto un secondo editor per i file JavaScript (* .js) nell'elenco "Editor associati".
Giovanni,

5
Questo potrebbe essere un suggerimento utile, ma se si verifica lo stesso comportamento, verificare se il file ha altri editor associati perché potrebbero ignorare le impostazioni. Per fare ciò, vai a Finestra> Preferenze> Generale> Editor> Associazioni di file> quindi cerca l'estensione del file che sta rovinando la tua giornata nell'elenco> fai clic su di essa e guarda l'elenco degli Editor associati di seguito
John

106
per il file Java esistente premi Ctrl-A per evidenziare tutto e poi Ctrl-I per applicare i rientri correnti. Altrimenti le schede esistenti impediranno gli spazi nelle nuove linee create con Invio. Sostituisce anche le schede esistenti con spazi.
topchef

4
Per C / C ++, si deve anche cambiare C / C ++ -> "Stile codice". Questo è di gran lunga il più fastidioso in questo software altrimenti eccezionale.
dashesy,

3
Per essere più dettagliati, per C / C ++ ed Ecplipse 3.6 o versioni successive, il secondo passo è stato: Finestra> Preferenze> C / C ++> Stile codice> Formatter> Nuovo, quindi scegli un nome profilo, assicurati che Open the edit dialog nowsia abilitato, premi OK, quindi sotto la Indentationscheda, vedrai Tab Policy. Impostalo su Spaces Only.
Garrett,

150

Per l'editor di testo predefinito:

  • Generali » Editors » Editori di testo » Insert spaces for tabs (controllare)

Per PHP:

  • PHP » Stile codice » Formatter » Tab policy (scegli" spazi ")
  • PHP » Stile codice » Formatter » Indentation size (impostato su 4)

Per CSS:

  • Web » CSS » Editor » Indent using spaces (selezionalo)
  • Web » CSS » Editor » Indentation size (impostato su 4)

Per HTML:

  • Web » HTML » Editor » Indent using spaces (selezionalo)
  • Web » HTML » Editor » Indentation size (impostato su 4)

Per XML:

  • XML » File XML » Editor » Indent using spaces (selezionarlo)
  • XML » File XML » Editor » Indentation size (impostato su 4)

Per Javascript:

  • Javascript » Preferenze » Stile codice » Formatter » Modifica » Indentation (scegli" solo spazi ")
  • Rinomina il profilo delle impostazioni del formatter per salvarlo

Per Java:

  • Java » Preferenze » Stile codice » Formatter » Modifica » Indentation (scegli" solo spazi ")
  • Rinomina il profilo delle impostazioni del formatter per salvarlo

Non vedo opzioni Web o Javascript nella radice delle Preferenze (ho una prospettiva Web disponibile, però) e voglio impostare le schede come spazi solo per i file html, css e javascript. Sono su Helios Eclipse per sviluppatori Java, hai idea di come posso ottenere questa opzione?
Danny,

Queste impostazioni sono quelle che vedo in Eclipse PDT (PHP Development Tools). Eclipse PDT è basato su Eclipse WTP (Web Tools Platform), che include JavaScript Development Tools (JSDT) e Source Editing di vari formati web. Questo è probabilmente ciò che ti manca.
Patrick Fisher,

+1 per le cose Java che è assolutamente necessario perché le sue impostazioni predefinite hanno la precedenza sulle impostazioni generali dell'editor di testo.
Giulio Piancastelli,

per C, Stile codice -> Formatter -> Modifica -> Rientro -> Impostazioni generali -> Criteri di tabulazione
andrew cooke

1
Grazie! Funziona bene su Marte. È deludente che le opzioni dell'Editor di testo esistano ma non facciano nulla!
paiego


26

Per CDT :

  • Vai a Finestra / Preferenze » C / C ++ » Stile codice » Formatter » Nuovo
  • Creane uno nuovo perché il profilo incorporato non può essere modificato
  • MyProfile (scegli un nome per il profilo)
  • Rientro » Tab Policy (selezionare solo Spazi)

23

Solo un suggerimento rapido per le persone che si imbattono in questo thread; c'è un altro posto in cui è possibile impostare questa impostazione, nel tuo progetto!

Eclipse supporta impostazioni specifiche del progetto e alcuni progetti utilizzeranno le proprie schede / impostazioni di spazi / schede non gestite, che non verranno visualizzate da nessuna parte tranne le proprietà del progetto corrente.

Questo può essere gestito attraverso:

  • Fare clic con il tasto destro del mouse sul progetto corrente in Esplora pacchetti
  • Proprietà » Stile codice Java
  • Girare fuori tutte le opzioni di progetto-specifici

Questo sarà generalmente un problema solo se importi il ​​codice di qualcun altro in Eclipse.


19

Per l'editor predefinito:

Finestra » Preferenze » Editor » Editor di testo »Insert spaces for tabs

inserisci qui la descrizione dell'immagine

Per l'editor Java

Finestra » Preferenze » Java » Stile codice » Formatter » Modifica » Rientro » Tab policy " Solo spazi "

inserisci qui la descrizione dell'immagine


9

Quando ho affrontato questo problema avevo "usa gli spazi per le schede" impostato su true ovunque potessi trovare, eppure continuavo a ricevere schede. Alla fine è stato perché le schede sono state utilizzate altrove nel file e stava cercando di eseguire un rientro intelligente o qualcosa di frustrante.

E 'stato risolto selezionando l'intero contenuto del file e premendo, su un Mac, command+shift+f. Questo applica la formattazione data a un file. Non conosco lo stesso keybinding su Windows, ma provalo. A quel punto inizio a ottenere il comportamento previsto.


Per una soluzione più modulare a questo problema, l'utente può anche fare un Trova / Sostituisci per \t(assicurarsi che le espressioni regolari siano abilitate) e sostituirlo con la quantità desiderata di caratteri spaziali
jlewkovich

La chiave per la formattazione del file su Windows è abbastanza simile - Ctrl+Shift+F.
A.Alessio

5

IDE Eclipse per sviluppatori C / C ++, versione: Helios Service Release 2

Devi creare un nuovo profilo premendo il pulsante Nuovo all'interno di "Finestra-> Preferenze-> Stile codice"

Vai alla scheda Rientro e seleziona "Scheda politica = Solo spazio"


IDE Eclipse per sviluppatori C / C ++, Versione: Kepler Service Release 1

Seguire il percorso seguente per creare un nuovo profilo: "Finestra> Preferenze> C / C ++> Stile codice> Formatter"

Vai alla scheda Rientro e seleziona "Scheda politica = Solo spazio"


5

Assicurati di controllare il formatore java poiché sovrascrive l' impostazione "inserisci spazi per schede" . Vai a:

Java->Code Style"->Formatter->Edit->Identation

Nota: sarà necessario creare un formato personalizzato per poter salvare la configurazione.


5

Ho trovato la soluzione questo problema molto semplice e che funziona sempre. È cambiare il file di impostazione dell'eclissi.

Ad esempio (cambia la dimensione del rientro HTML):


  1. org.eclipse.wst.html.core.prefsFile trovato che dovrebbe essere inyour_workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/
  2. Aggiungi / Cambia alla riga nel file:
indentationChar=space

indentationSize=4

1
Su Ubuntu 14.04.03 LTS ed eclipse 4.5 non riesco a modificare la dimensione dell'identificazione è sempre bloccata e non modificabile. Questo ha risolto il mio problema.
TekTimmy,

5

Vai a Finestra -> Preferenze e digita la scheda come testo di ricerca (che visualizzerà una finestra di dialogo come di seguito):

inserisci qui la descrizione dell'immagine

Vai alle sezioni evidenziate per modificare la politica della scheda. Per le impostazioni dell'Editor è per lo più rientro utilizzando spazi (anche mostrato sopra).

Per le impostazioni del formatter è necessario modificare il profilo attivo e aggiornare i criteri della scheda (disponibile in " Rientro -> Impostazioni generali :

inserisci qui la descrizione dell'immagine


3

Finestra-> Preferenze-> Java-> Stile codice-> Formatter-> Modifica-> Rientro = "Solo spazi"


3

In Eclipse vai su Finestra » Preferenze quindi cerca Formatter .

Vedrai vari link in grassetto, fai clic su ciascun link in grassetto e impostalo su use spacesinvece di tabs.

Nel collegamento al formattatore java, è necessario modificare il profilo e selezionare il criterio scheda, spaces onlynella scheda rientro


2

Non perdere i criteri Tab per entrambi * Solo spazi * Usa gli spazi per rientrare le linee tratteggiate

Ho controllato solo quest'ultima cosa e lasciato Combobox come Solo schede che continuava a fallire CheckStyle .. Cordiali saluti, sto parlando di Preferenze> Java> Formatter> Modifica ...


2

In formato eclipse xml:

Per scheda:

<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>

Per lo spazio:

<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>

0
  • Fai clic su Finestra »Preferenze
  • Espandi Java »Stile codice
  • Fai clic su Formatter
  • fai clic su nuovo
  • Seleziona il nome del profilo
  • Clicca ok
  • Fai clic sul pulsante Modifica
  • Fai clic sulla scheda Rientro
  • In Impostazioni generali, imposta il criterio Tab su: Solo spazi
  • Clicca OK.


0

In aggiunta alle altre risposte, su Mac OS X, il menu "Preferenze" si trova in Eclipse, non in Windows (diversamente dalle distribuzioni Eclipse di Windows / Linux). Tutto il resto è sempre lo stesso indicato da altre risposte oltre questo punto.

IE: Java Formatter disponibile sotto:

Eclipse >      | # Not Window!
Preferences >  |
Java >         |
Code Style >   |
Formatter      |

Da qui, modifica il formattatore e la politica della scheda può essere impostata in "Rientro".


0

In eclipse mars (EE) su Mac OS X, l'unico modo per trovarlo nelle preferenze era aprire la finestra di dialogo Preferenze e digitare Formatter, quindi selezionare Java-> Stile codice-> Formatter.

Java-> Code Style non ha accesso a Formatter!


0

E non dimenticare l' editor ANT

Per qualche motivo Ant Editor non viene visualizzato nei risultati di ricerca per 'tab'o 'spaces'può essere perso.

In Windows > Preferenze

  • Ant » Editor » Formatter » Tab size: (impostato su 4)
  • Formica » Editor » Formatter » Use tab character instead of spaces (deselezionalo)

0

Puoi sicuramente utilizzare il file XML per configurare il tuo formattatore dello stile di codifica. Il file formatter ti aiuta ad avere lo stesso stile di codifica e le linee guida tra i membri del tuo team.

L'aggiunta di queste variabili di impostazione di seguito avrebbe a tab= 2 spacese convertirà in spazio anche se probabilmente si utilizza il Tabtasto di scelta rapida durante la codifica tramite Eclipse .

<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>    
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="yes"/>

Migliore,

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.