¿Cómo puedo usar pestañas para sangrar en IntelliJ IDEA?


129

¿Cómo puedo usar pestañas en lugar de múltiples espacios para sangría en IntelliJ IDEA 11.0?

Tengo "Usar carácter de tabulación" marcado en "Estilo de código"> "General"> "Opciones de sangría predeterminadas". Y también trató de tener "pestañas inteligentes" marcadas, pero no ayuda.

De la documentación :

Si esta casilla de verificación está seleccionada, se utilizan caracteres de tabulación:

  • Al presionar la tecla Tab
  • Para sangría
  • Para reformatear el código

De lo contrario, se utilizan espacios en lugar de pestañas.

Respuestas:


58

IntelliJ IDEA 15

Solo para el archivo actual

Tienes las siguientes opciones:

  1. Ctrl+ Shift+ A> escriba "pestañas"> haga doble clic en "A pestañas"

    A pestañas

    Si desea convertir pestañas en espacios, puede escribir "espacios", luego elija "A espacios".

  2. Edición> Convertir sangrías> A pestañas

    Para convertir pestañas en espacios, puede elegir "A espacios" desde el mismo lugar.

Para todos los archivos

Los caminos en las otras respuestas cambiaron un poco:

  • Archivo> Configuración ...> Editor > Estilo de código> Java> Pestañas y sangrías> Usar carácter de pestaña Usar carácter de tabulación
  • Archivo> Otras configuraciones> Configuración predeterminada ...> Editor > Estilo de código> Java> Pestañas y sangrías> Usar carácter de pestaña
  • Archivo> Configuración ...> Editor > Estilo de código> Detectar y usar sangrías de archivos existentes para editar
  • Archivo> Otras configuraciones> Configuración predeterminada ...> Editor > Estilo de código> Detectar y usar sangrías de archivos existentes para editar

Parece que no importa si marca / desmarca la casilla de Configuración ... o de Otras configuraciones> Configuración predeterminada ... , porque el cambio desde una ventana estará disponible en la otra ventana.

Los cambios anteriores se aplicarán a los nuevos archivos , pero si desea cambiar los espacios a pestañas en un archivo existente , debe formatear el archivo presionando Ctrl+ Alt+ L.


1
¡Eso es lo que yo llamo una explicación! Muchas gracias. Estoy acostumbrado a espacios y también había configurado las otras cosas, pero me había perdido el reformateo.
geisterfurz007

210

Archivo > Configuración > Editor > Estilo de código > Java > Pestañas y sangrías > Usar carácter de pestaña

Sustituya el arma de su elección por Java según sea necesario.


55
Tenga en cuenta que si está cambiando esto y también reemplazando todas las pestañas / espacios en un archivo, es posible que deba cerrar y volver a abrir el archivo para corregir la detección después de sus cambios.
mlissner

3
¿Alguna idea de por qué "Usar carácter de tabulación" no está habilitado de forma predeterminada?
Ivan Balashov

2
Los caracteres de la pestaña @IvanBalashov pueden causar algunos problemas de formato cuando se ven en otros editores de texto. Además, algunos lenguajes, como Python, pueden romperse cuando usa pestañas en lugar de espacios.
Caché Staheli

11
¿Y qué hago cuando quiero tener pestañas como sangría PARA TODAS LAS LENGUAS? ¿Debo hacer clic en 500 idiomas diferentes y aplicarlo individualmente?
phil294

3
He hecho esto y IntelliJ sigue utilizando espacios (ver post por qué-costumbre-intellij-uso-tabs )
doub1ejack

24

Empecé a usar IntelliJ IDEA Community Edition versión 12.1.3 y encontré la configuración en el siguiente lugar: -

File > Other Settings > Default Settings > {choose from Code Style dropdown}

44
No habría encontrado esto sin tu respuesta. ¡Gracias!
MegaMatt

2
Es posible que deba
anular la

14

Para cualquier persona que no pueda obtener esto, también debe desmarcar lo siguiente

Preferences > Editor > Code Style
[] Enable EditorConfig support
EditorConfig may override the IDE code style settings

Mi IntelliJ versión 15.0.4


1
¡Gracias! Acabas de guardar mi teclado.
Carl Bergquist

Estaba teniendo 2 espacios como tamaño de pestaña e intenté desde hace muchos días solucionar esto. Así es como solucioné el problema. Muchas gracias @visheshd
adi

10

Otra opción útil en IDEA para apagar o mantener marcada si realmente necesita eso:

Preferences -> Code Style -> Detect and use existing file indents for editing

si su equipo va a cambiar al formato de tabulación con código existente escrito con espacios, desmarque


8

¿Has probado .editorconfig ? Puede crear este archivo en la raíz de su proyecto y configurar la sangría para diferentes tipos de archivos. Su código se formateará automáticamente. Aquí está el ejemplo:

# top-most EditorConfig file
root = true

# matches all files
[*]
indent_style = tab
indent_size = 4

# only json
[*.json]
indent_style = space
indent_size = 2

Este archivo anula cualquier otra cosa en la configuración de intellij. Es muy importante verificar primero este archivo.
Arashsoft

Después de haber intentado todo, aceptado o no, en esta página, esto es lo único que superó la pesada mano de los espacios (Macos, Intellij CE 2018.3.4, archivo .rs existente).
cloudsurfin 01 de

0

Mi versión de Intellij es 13.4.1

Intellij IDEA->Perference->Code Style(Project Setting)

0

Para ampliar la respuesta de @Dmitiri Algazin: la configuración general anula la configuración de los idiomas individuales

Preferences -> Code Style -> Detect and use existing file indents for editing

Entonces, si se pregunta por qué se ignora su nueva configuración después de cambiarla para un idioma específico, existe la posibilidad de que esta casilla esté marcada.

Como nota al margen; cambiar cualquier configuración predeterminada crea automáticamente un clon de perfil de configuración (es decir Default(1)) que supongo que está en su lugar para que la configuración IDE predeterminada nunca se sobrescriba.

Es un poco confuso al principio, realmente, si editar la Defaultconfiguración o Project Settingsva a tener algún efecto en su proyecto, ya que puede seleccionar Defaultdesde el menú desplegable y luego editar desde allí.

Si no desea seguir viendo clones aleatorios de Predeterminado en sus perfiles de configuración, edite la Configuración del proyecto directamente.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.