¿Cómo cambio Eclipse para usar espacios en lugar de pestañas?

895

De manera predeterminada, Eclipse sangra con un carácter de tabulación duro. ¿Cómo lo cambio a espacios?

Brian Deacon
fuente
43
@ i3ensays porque las pestañas se presentan de manera diferente en diferentes editores o entornos, mientras que los espacios son siempre consistentes.
mmmdreg 01 de
29
@mmmdreg exactamente mi punto. Los espacios son rígidos y derrochadores. El uso de pestañas le da libertad al espectador para configurar su editor como desee. Me gusta que mis pestañas se muestren como 2 espacios, mi colega 4. Esto no es posible sin el uso de pestañas. Mi colega aquí y yo luchamos en espacios cuando cada uno formatea en nuestro editor respectivo; las pestañas no son un problema; Por eso se inventaron (sospecho).
i3ensays
15
@ i3ensays amen, hermano! He tratado de hacer que la gente entienda este concepto durante más de 10 años ( rizzoweb.com/java/tabs-vs-spaces.html ). Lo que realmente me alarma es que, como programadores, pensarían que todos entenderían el concepto de abstracciones (una pestaña es una abstracción de sangría de código, mientras que un número fijo de espacios es una implementación codificada), pero, por desgracia, parece que muchos programadores no pueden ver la abstracción aquí.
E-Riz
28
@ i3ensays Su equipo debe tener un estándar de codificación que indique claramente cómo se formatea el código. Esto ahorraría tiempo al evitar las batallas que mencionas. Debería adoptar uno lo antes posible, pero ese estándar indicará al 100% que las pestañas nunca deben usarse porque esta guerra santa fue ganada por la "gente del espacio" hace años, por lo que un estándar no lo ayudará. Además de los problemas de alineación, una de las principales razones para los espacios es que las herramientas de control de revisión y los revisores de código no tendrán que lidiar con este problema. Empecé de tu lado de esta batalla hace 20 años, pero finalmente aprendí a abrazar el espacio.
Night Owl
12
La razón es que las personas inevitablemente terminarán con combinaciones de pestañas y espacios y, en algunos editores, el código no se mostrará correctamente. Si todos solo usan espacios, esto nunca es un problema.
Eamonn McEvoy

Respuestas:

1239

Editor de Java

  1. Haga clic en Ventana » Preferencias
  2. Expanda Java » Estilo de código
  3. Click Formatter
  4. Haga clic en el botón Editar
  5. Haga clic en la pestaña Sangría
  6. En Configuración general , establezca la política de pestañas en:Spaces only
  7. Haga clic en Aceptar ad nauseam para aplicar los cambios.

[ Nota : si es necesario, guarde el perfil con un nuevo nombre, ya que el perfil predeterminado no se puede sobrescribir].

Editor de texto predeterminado

Antes de la versión 3.6:

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

Versión 3.6 y posterior:

  1. Haga clic en Ventana » Preferencias
  2. Expandir General » Editores
  3. Hacer clic Editores de texto
  4. Cheque Insertar espacios para pestañas
  5. Haga clic en Aceptar ad nauseam para aplicar los cambios.

Tenga en cuenta que el editor de texto predeterminado se utiliza como base para muchos editores que no son Java en Eclipse. Es sorprendente que esta configuración no estuviera disponible hasta 3.3.

C / C ++

  1. Haga clic en Ventana » Preferencias
  2. Expanda C / C ++ » Estilo de código
  3. Click Formatter
  4. Haga clic en el botón Nuevo para crear un nuevo perfil, luego en Aceptar para continuar
  5. Haga clic en la pestaña Sangría
  6. En Configuración general , establezca la política de pestañas en:Spaces only
  7. Haga clic en Aceptar ad nauseam para aplicar los cambios.

HTML

  1. Haga clic en Ventana » Preferencias
  2. Expand Web » Archivos HTML
  3. Click Editor
  4. En Formato , seleccione la sangría usando el botón de radio de espacios
  5. Haga clic en Aceptar para aplicar los cambios.

CSS

Siga las mismas instrucciones para HTML, pero seleccione Archivos CSS en lugar de Archivos HTML .

JSP

Por defecto, los archivos JSP siguen las preferencias de formato para los archivos HTML.

XML

El espaciado de archivos XML se configura en Preferencias.

  1. Haga clic en Ventana » Preferencias
  2. Expandir XML » Archivos XML
  3. Click Editor
  4. Seleccionar sangría usando espacios
  5. Puede especificar el tamaño de sangría si es necesario: número de espacios para sangrar.
Dave Ray
fuente
19
Para aquellos que tienen MyEclipse instalado o cualquier otro IDE construido sobre Eclipse, puede tener otro editor que anule su configuración. Este fue el caso de MyEclipse y JavaScript. Tenía habilitada la configuración "Insertar espacios para pestañas" en los Editores de texto, pero las pestañas todavía se usaban en lugar de espacios. Estaba a punto de llamarlo un día y descartarlo como un error, pero luego vi un segundo editor para archivos JavaScript (* .js) en la lista de "Editores Asociados".
John
55
Esto puede ser una pista útil, pero si experimenta el mismo comportamiento, verifique si el archivo tiene otros editores asociados porque pueden estar anulando su configuración. Para hacerlo, vaya a Ventana> Preferencias> General> Editores> Asociaciones de archivos> luego busque la extensión de archivo que está arruinando su día en esa lista> haga clic y mire la lista de Editores Asociados a continuación
Juan
106
para archivos Java existentes, presione Ctrl-A para resaltar todo y luego Ctrl-I para aplicar sangrías actuales. De lo contrario, las pestañas existentes evitarán espacios en las nuevas líneas creadas con Enter. También reemplaza las pestañas existentes con espacios.
topchef
44
Para C / C ++, uno tiene que cambiar también C / C ++ -> "Estilo de código". Este es, con mucho, el más molesto en este software de otra manera genial.
guiones el
3
Para ser más detallado, para C / C ++ y Ecplipse 3.6 o posterior, el segundo paso fue: Ventana> Preferencias> C / C ++> Estilo de código> Formateador> Nuevo, luego elija cualquier nombre de Perfil, asegúrese de que Open the edit dialog nowesté habilitado, presione OK, y luego debajo la Indentationpestaña, ya verás Tab Policy. Ponlo en Spaces Only.
Garrett
150

Para el editor de texto predeterminado:

  • Generales » Editores » Editores de texto » Insert spaces for tabs (comprobarlo)

Para PHP:

  • PHP » Estilo de código » Formateador » Tab policy (elija" espacios ")
  • PHP » Estilo de código » Formateador » Indentation size (establecido en 4)

Para CSS:

  • Web » CSS » Editor » Indent using spaces (selecciónelo)
  • Web » CSS » Editor » Indentation size (establecido en 4)

Para HTML:

  • Web » HTML » Editor » Indent using spaces (selecciónelo)
  • Web » HTML » Editor » Indentation size (establecido en 4)

Para XML:

  • XML » Archivos XML » Editor » Indent using spaces (selecciónelo)
  • XML » Archivos XML » Editor » Indentation size (establecido en 4)

Para Javascript:

  • Javascript » Preferencias » Código de estilo » Formateador » Editar » Indentation (elija" solo espacios ")
  • Cambie el nombre del perfil de configuración del formateador para guardarlo

Para Java:

  • Java » Preferencias » Código de estilo » Formateador » Editar » Indentation (elija" solo espacios ")
  • Cambie el nombre del perfil de configuración del formateador para guardarlo
Patrick Fisher
fuente
No veo opciones Web o Javascript en la raíz de las Preferencias (sin embargo, tengo una Perspectiva Web disponible) y quiero establecer pestañas como espacios para archivos html, css y javascript. Estoy en Helios Eclipse para desarrolladores de Java, ¿alguna idea de cómo puedo obtener esa opción?
danny
Esta configuración es lo que veo en Eclipse PDT (Herramientas de desarrollo de PHP). Eclipse PDT se basa en Eclipse WTP (plataforma de herramientas web), que incluye herramientas de desarrollo de JavaScript (JSDT) y edición de código fuente de varios formatos web. Esto es probablemente lo que te estás perdiendo.
Patrick Fisher
+1 para el material de Java que es absolutamente necesario porque su configuración predeterminada anula la configuración general del editor de texto.
Giulio Piancastelli
para C, Estilo de código -> Formateador -> Editar -> Sangría -> Configuración general -> Política de pestañas
andrew cooke
1
¡Gracias! Esto funciona bien en Marte. ¡Es decepcionante que las opciones del Editor de texto existan y no hagan nada!
paiego
37

Desde cambiar pestañas a espacios en eclipse :

Ventana » Preferencias » Java » Estilo de código » Formateador » Editar » Indentation (elija "Solo espacios")

Brian Deacon
fuente
1
para XML, xml -> archivos xml -> editor, luego seleccione sangría usando espacios, sangría tamaño 2.
Junchen Liu
26

Para CDT :

  • Vaya a Ventana / Preferencia » C / C ++ » Estilo de código » Formateador » Nuevo
  • Cree uno nuevo porque el perfil incorporado no se puede cambiar
  • MyProfile (elija un nombre para el perfil)
  • Sangría » Tab Policy (elija solo Espacios)
Antonio Leite
fuente
23

Solo un consejo rápido para las personas que se topan con este hilo; ¡hay un lugar más donde también se puede establecer esta configuración, en su proyecto!

Eclipse admite configuraciones específicas del proyecto, y algunos proyectos usarán sus propias configuraciones de pestañas / espacios no administrados, que no se mostrarán en ningún lugar excepto en las Propiedades del proyecto actual.

Esto se puede gestionar a través de:

  • Haga clic con el botón derecho en el proyecto actual en el Explorador de paquetes
  • Propiedades » Estilo de código Java
  • Gire fuera todas las opciones de proyectos específicos

En general, esto solo será un problema si importa el código de otra persona en su Eclipse.

Nick Chadwick
fuente
19

Para el editor predeterminado:

Ventana » Preferencias » Editores » Editores de texto »Insert spaces for tabs

ingrese la descripción de la imagen aquí

Para el editor de Java

Ventana » Preferencias » Java » Estilo de código » Formateador » Editar » Sangría » Tab policy " Solo espacios "

ingrese la descripción de la imagen aquí

Sumit Singh
fuente
9

Cuando me enfrenté a este problema tenía "usar espacios para pestañas" establecido en verdadero en todas partes que pude encontrar, y aun así seguía obteniendo pestañas. Terminó siendo porque las pestañas se usaron en otra parte del archivo y estaba tratando de hacer una sangría inteligente o algo frustrante.

Se resolvió mediante la selección de todo el contenido de dicho archivo y pulsando, en un mac, command+shift+f. Esto aplica el formato dado a un archivo. No conozco la misma combinación de teclas en Windows, pero inténtalo. En ese momento empiezo a tener el comportamiento esperado.

usuario1978019
fuente
Para una solución más modular a este problema, el usuario también puede buscar / reemplazar \t(asegúrese de que las expresiones regulares estén habilitadas) y reemplazar con la cantidad deseada de caracteres de espacio
jlewkovich
La clave para formatear el archivo en Windows es bastante similar Ctrl+Shift+F.
A.Alessio
5

Eclipse IDE para desarrolladores de C / C ++, versión: Helios Service Release 2

Debe crear un nuevo perfil presionando el botón Nuevo dentro de "Ventana-> Preferencias-> Estilo de código"

Vaya a la pestaña Sangría y seleccione "Política de pestañas = Solo espacio"


Eclipse IDE para desarrolladores de C / C ++, Versión: Kepler Service Release 1

Siga la ruta a continuación para crear un nuevo perfil: "Ventana> Preferencias> C / C ++> Estilo de código> Formateador"

Vaya a la pestaña Sangría y seleccione "Política de pestañas = Solo espacio"

Khokhar
fuente
5

Asegúrese de verificar el formateador java ya que sobrescribe la configuración de "insertar espacios para pestañas" . Ir:

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

Nota: necesitará crear un formato personalizado para poder guardar su configuración.

ricardo rivaldo
fuente
5

Encontré la solución a este problema muy simple y que siempre funciona. Es cambiar el archivo de configuración del eclipse.

Por ejemplo (cambiar el tamaño de sangría HTML):


  1. org.eclipse.wst.html.core.prefsArchivo encontrado que debe estar enyour_workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/
  2. Agregar / Cambiar a línea en archivo:
indentationChar=space

indentationSize=4
Michał Orliński
fuente
1
En Ubuntu 14.04.03 LTS y eclipse 4.5 no puedo cambiar el tamaño de la idea siempre está bloqueado y no se puede cambiar. Esto resolvió mi problema.
TekTimmy
5

Vaya a Ventana -> Preferencias y escriba la pestaña como texto de búsqueda (que mostrará un cuadro de diálogo como el siguiente):

ingrese la descripción de la imagen aquí

Vaya a las secciones resaltadas para cambiar la política de pestañas. Para la configuración del Editor , es principalmente Sangría usando espacios (también se muestra arriba).

Para la configuración del formateador , debe editar el perfil activo y actualizar la política de pestañas (disponible en ` Sangría -> Configuración general :

ingrese la descripción de la imagen aquí

Saikat
fuente
3

Ventana-> Preferencias-> Java-> Estilo de código-> Formateador-> Editar-> Indentación = "Solo espacios"

Santosh
fuente
3

En Eclipse, vaya a Ventana » Preferencias y luego busque Formatter .

Verá varios enlaces en negrita, haga clic en cada enlace en negrita y configúrelo en use spaceslugar detabs .

En el enlace del formateador de Java, debe editar el perfil y seleccionar la política de pestañas, spaces onlyen la pestaña de sangría

Sandeep
fuente
2

No se pierda la política de tabulación para ambos * Espacios solamente * Use espacios para sangrar líneas ajustadas

Verifiqué solo lo último y dejé el cuadro combinado como Tabs Only, que seguía fallando CheckStyle ... Para su información, estoy hablando de Preferencias> Java> Formateador> Editar ...

Chester
fuente
2

En formato eclipse xml:

Para pestaña:

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

Por espacio:

<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
dillip pattnaik
fuente
0
  • Haga clic en Ventana »Preferencias
  • Expanda Java »Estilo de código
  • Click Formatter
  • haga clic en nuevo
  • Seleccione el nombre del perfil
  • Haga clic en Aceptar
  • Haga clic en el botón Editar
  • Haga clic en la pestaña Sangría
  • En Configuración general, establezca la política de pestañas en: Solo espacios
  • Haga clic en Aceptar.
Sam
fuente
0

También considere usar un archivo .editorconfig: https://marketplace.eclipse.org/content/editorconfig-eclipse . Alguien que no use Eclipse también puede beneficiarse de esto, en el peor de los casos, puede servir como guía. NOTA: No entraré en las pestañas vs guerras espaciales, pero usaré espacios FTW :-)

Christophe Roussy
fuente
0

Como un aumento a las otras respuestas, en Mac OS X, el menú "Preferencias" está en Eclipse, no en Windows (a diferencia de las distribuciones de Eclipse de Windows / Linux). Todo lo demás sigue siendo el mismo que señalaron otras respuestas más allá de este punto.

IE: Java Formatter disponible en:

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

Desde aquí, edite el formateador y la política de pestañas se puede establecer en "Sangría".

Caché de hierro
fuente
0

En eclipse mars (EE) en Mac OS X, la única forma en que pude encontrar esto en las preferencias fue abrir el cuadro de diálogo Preferencias y escribir Formatter, luego seleccionar Java-> Code Style-> Formatter.

Java-> Code Style no tiene acceso a Formatter!

paiego
fuente
0

Y no olvides el editor ANT

Por alguna razón, Ant Editor no aparece en los resultados de búsqueda para 'tab'o'spaces' por lo que se puede perder.

En Windows > Preferencias

  • Ant » Editor » Formateador » Tab size: (establecido en 4)
  • Ant » Editor » Formateador » Use tab character instead of spaces (desmarque)
usuario shonky de linux
fuente
0

Definitivamente puede usar un archivo XML para configurar su formateador del estilo de codificación. El archivo formateador le ayuda a tener el mismo estilo de codificación y las mismas pautas entre los miembros de su equipo.

Agregar estas variables de configuración a continuación tendría a tab= 2 spacesy convertir al espacio, incluso probablemente use la Tabtecla abreviada al codificar usando 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"/>

Mejor,

Quoc Truong
fuente