2010-04-14 19 views
22

¿Hay alguna manera de persuadir a Eclipse para que use pestañas en lugar de espacios para sangrar sus propuestas incorporadas de asistencia de contenido Java (como al crear un método vacío que anula un método en la clase principal)?¿Cómo puedo hacer que Eclipse inserte pestañas en lugar de espacios para la asistencia de contenido de Java?

La única configuración que pude encontrar que parecía relevante es en Windows/Preferencias/General/Editores/Editores de texto/Insertar espacios para pestañas, y esta configuración está desmarcada.

(EDIT: Varios críticos han señalado Java/formateador/Política estilo de código/sangría/Tab, que se establece en "Sólo aquí")

Por el momento tengo que recordar a seleccionarlos y volver formato con <Ctrl>+<Shift>+<F>.

+1

Pero ¿tiene un formateador activo con sus ajustes generales en la "Política Tab" en "Espacios único"? Check in Preferences/Java/Code Style/Formatter/button Edit. – VonC

+0

@Simon no importa: si el reformateo funciona, su formateador es bueno. He agregado una respuesta que hace referencia a un error que podría ser relevante para su problema. – VonC

+0

@VonC: Sí, y la configuración de "Política de pestañas" está establecida en "Solo pestañas" –

Respuesta

7

parece ser actualmente un error (no se fija en el tren 3.5):

bug 44755 (para comentarios, sino también válida para otras operaciones JDT refactorización)

vinculado también a bug 231832, que implica un error en la reescritura AST ...

creo que esto es un problema con ASTRewrite, no con el cliente de ASTRewrite. Tenemos que asegurarnos de que la configuración del formateador de código esté disponible para la parte de reescritura .
Pasando a JDT/Core para investigación.

detectado en finales de 3,4, aún no se fija en 3,5

+1

4.5.0 y todavía no está fijo .... –

2

Tenga una mirada en las preferencias en Java Estilo/Código/formateador
crear su propio perfil y ajuste "sangría" "La política Tab"/a "aquí solamente"

+1

Gracias, pero esto ya está configurado –

+0

Funciona para mí. Thanxxx. – LonliLokli

1

Preferencias> Java> Estilo de Código> Formateador > Editar> Sangría> Usar pestañas solo para sangría inicial casilla de verificación

+0

No veo esta configuración exacta, pero la configuración "Política de pestañas" en el mismo cuadro de diálogo está configurada en "Solo pestañas". –

+0

Encontré que en Windows Eclipse 3.5.1 –

1

La forma en que lo tengo configurado es habilitar el "Formato del código fuente" en Editor-> Guardar preferencias de acciones.

De esta forma, vuelve a formatear el código fuente al guardar.

+0

inteligente, pero no quiero hacer esto, ya que introduciría demasiado ruido en los diffs de control de fuente. –

+0

OK aquí es otra de las ondas cerebrales (aunque puede ser un poco tedioso) Goto java-> Editor-> plantillas, editar cada una de las plantillas que utiliza y fijarlos por pegar a un editor que puede cambiar el formato de las fichas a los espacios, y luego pegar respaldar las versiones corregidas. –

+0

La plantilla que más me interesa parece estar definida en otra parte (en Java/Estilo de código/Plantillas de código/Código/Cuerpo de método), pero estos simplemente dan el cuerpo de los métodos, ¡y no hay ninguna sangría en absoluto! –

1

También tuve este problema. El problema resultó ser una configuración que estaba enterrada en algún lugar de mi espacio de trabajo. Creé un nuevo espacio de trabajo y reimporté mi proyecto y mis pestañas ya no se convirtieron en espacios.

1

Me aseguré de que la opción Editar> Modo de inserción inteligente NO estaba marcada, y eso pareció ayudarme cuando la configuración de sangría y formateo no funcionó. Ejecutando Eclipse 3.7.0.

+0

gracias, para mí también. totalmente al azar. – Nande

23

Encontré la solución, gracias al comentario anterior de Simon Nickerson, que es a lo que se refería el cartel original en su edición. Después de haber encontrado la configuración, veo de lo que están hablando. Sin embargo, la forma de hacerlo se dio unos pocos pasos desde el comienzo del camino, por lo que no da una respuesta clara a las personas que son nuevas en Eclipse o que han estado ausentes durante algunos años, como yo. así que le daré el camino completo aquí:

  1. Vaya a Proyecto-> Propiedades.
  2. En el cuadro resultante, vaya a "Java Code Style" -> Formatter.
  3. Haga clic en el enlace "Configurar configuración del espacio de trabajo" en la esquina superior derecha del cuadro.
  4. Haga clic en el botón Editar al lado del nombre.
  5. "política Tab:"
  6. Cambio cuadro desplegable de "Espacios única" porque las pestañas son malos e inevitablemente resultan en código mal formateado. > :-(Aquí también es donde realmente puede afectar el tamaño de sangría y tamaño de tabulación en sus archivos
  7. Deberá cambiar el "Nombre del perfil" en la parte superior del cuadro para guardar sus cambios.
  8. Afortunadamente , una vez le das "OK", Eclipse utilizará su perfil para su proyecto actual, de modo que haya terminado después de este paso.

Ahora, lo que realmente está roto es el hecho de que estos ajustes anulan más por adelantado interfaz para cambiar la configuración de sonido similar en "Windows/Preferencias/General/Editores/Editores de texto/Insertar espacios para pestañas". Para alguien relativamente nuevo en el editor, este parecería el lugar para establecer las pestañas predeterminadas = configuración de espacios. encontrar el verdadero answe r, está claro que esto es solo para la edición de texto general, y las configuraciones específicas del idioma deben configurarse en los perfiles para los idiomas disponibles. Sin embargo, esto debería hacerse un poco más claro para los noobs. ;-)

+0

Gracias. Esto ayuda mucho =) – adelarsq

+2

¿Cómo es esta una respuesta a la pregunta? El OP quiere usar * pestañas *, pero esta respuesta detalla cómo usar * espacios *. E incluso si elige "Solo pestañas" en el punto 5, esto no funciona de todos modos (vea el comentario de OP: http://stackoverflow.com/questions/2636589/how-can-i-get-eclipse-to-insert -tabs-instead-of-spaces-for-java-content-assist # comment2650643_2636589). –

+1

@PeterJaric No preguntes a los fanáticos. Los fanáticos están allí solo para protestar por su intolerancia. – Val

1

Incluso después de establecer la opción Insertar espacios de pestañas en las preferencias de editor de texto y el establecimiento de la política de mi Tab perfil formateador a Espacios única Eclipse todavía estaba insertando caracteres de tabulación. Solo después de eliminar todas las pestañas del archivo insertó espacios para pestañas. Después de descubrir esto, determiné que la opción Insertar espacios para pestañas en las preferencias del Editor de texto no parece tener ningún efecto, y es el cambio a la política de pestañas de perfil de formateador que logra los resultados deseados.

0

Sin embargo, otra solución que "funcionó para mí", incluso si las otras soluciones no funcionaron (Versión: 3.8.1):

Preferencias> Java> Estilo> Código formateador> Editar> sangría> Use espacios para guión líneas ajustadas - Ajuste sin control

Esta es esencialmente la opción "pestañas inteligentes". Funciona para el formateador, pero establece incorrectamente la generación de código en el uso de espacios solamente. De manera molesta, la solución rompe el formateador.

Cuestiones relacionadas