¿Cómo cambiar el modo de sangría en Atom?

194

No he podido resolver esto todavía. Atom parece usar espacios como el modo de sangría predeterminado. Sin embargo, prefiero tener pestañas. Sublime Text tiene una funcionalidad integrada para cambiar y convertir sangría.

¿Alguien descubrió cómo cambiar el modo de sangría de Atom?

Algunas capturas de pantalla de Sublime Text:

Menú de sangría de texto sublime abierto Menú de sangría de texto sublime

Jon Koops
fuente
44
para convertir la sangría, puede buscar y reemplazar una expresión regular y usar \ t para buscar o insertar pestañas.
mer10z_tech
1
¿Hay alguna manera fácil de cambiar el código actual a 4 desde el modo de sangría 2?
Charlie Parker
1
Utilizo el complemento de detección automática de sangría, que no solo configurará automáticamente la tecla de tabulación para hacer lo que ya está en el archivo, sino que muestra el modo de sangría en la parte inferior izquierda.
while1fork
@CharlieParker Vaya a las preferencias, haga clic en la pestaña del editor y configure la sangría en 4.
Craig
Nota: ¡ Atom por defecto muestra y atraviesa espacios como pestañas! Vea la respuesta de tparker aquí: stackoverflow.com/a/46333677/1599699
Andrew

Respuestas:

218

Consulte Pestañas suaves y Longitud de pestaña en Configuración> Configuración del editor .

Para alternar los modos de sangría rápidamente, puede usar Ctrl-Shift-P y buscar Editor: alternar pestañas suaves .

blom
fuente
1
Como dijo @zamber, si sangra automáticamente una página y no recoge tu configuración de sangría, vuelve a abrirla e intenta nuevamente.
Victor S
58
Como nota al margen: las pestañas suaves son caracteres de espacio como pestañas, las pestañas duras son caracteres de pestañas. Además, si la configuración no se repite, intenteCtrl-Shift-P Editor: Toggle Soft Tabs
ivan-k
2
Me gustaría agregar que NINGUNA de las soluciones en este hilo funcionó para mí HASTA que cambié a una fuente monoespaciada. Después de cambiar a una fuente monoespaciada, probé cada método y todos funcionan. Espero que esto ayude a alguien en el futuro ...
Native Coder
¿Hay alguna manera fácil de cambiar el código actual a 4 desde el modo de sangría 2?
Charlie Parker
No puedo ver ningún beneficio de NO usar una fuente monoespaciada al codificar, debo admitirlo.
Frank Bailey
65

Vaya a Archivo -> Configuración

Hay 3 opciones diferentes aquí.

  1. Pestañas suaves
  2. Longitud de pestaña
  3. Tipo de pestaña

Hice algunas pruebas y he llegado a estas conclusiones sobre lo que hace cada uno.

Pestañas suaves : habilitar esto significa que usará espacios de forma predeterminada (es decir, para archivos nuevos).

Longitud de pestaña : qué tan ancho se muestra el carácter de pestaña o cuántos espacios se insertan para una pestaña si las pestañas suaves están habilitadas.

Tipo de pestaña : determina el modo de sangría que se usará para los archivos existentes. Si lo configura en automático, usará la sangría existente (pestañas o espacios). Si lo configura en suave o duro, forzará espacios o pestañas independientemente de la sangría existente. Lo mejor es dejar esto en auto.

Nota: Soft = espacios, hard = tab

desarrolladorbmw
fuente
¿También puedes hablar de Atomic Soft Tabs ?
neeh
3
¿Hay alguna manera fácil de cambiar el código actual a 4 desde el modo de sangría 2?
Charlie Parker
1
Gracias por ayudar a aclarar algunas de las jergas que Atom usa para comprender este problema.
MiFiHiBye
23

Agregue esto a su ~/.atom/config.cson

editor:
    tabLength: 4
Leif Gruenwoldt
fuente
15

OS X:

  1. Ir a Atom -> prefrencesoCMD + ,

  2. Desplácese hacia abajo y seleccione "Longitud de pestaña" que prefiera.

ingrese la descripción de la imagen aquí

Dijo Kholov
fuente
11

Puede intentar ir a "Atom> Preferencias> Editor" y establecer la longitud de la pestaña en 4.

ingrese la descripción de la imagen aquí

Esto es para mac. Para Windows tendrá que encontrar el menú apropiado.

Craig
fuente
7

Agregar aquí la respuesta de @Manbroski que funcionó para mí:

tratar Ctrl-Shift-P Editor: Toggle Soft Tabs

revs OscarRyz
fuente
6

Tarde a la fiesta, pero una manera limpia de hacer esto por proyecto es agregar un archivo .editorconfig a la raíz del proyecto. Le evita tener que cambiar la configuración de Atom cuando trabaja en varios proyectos simultáneamente.

Esta es una muestra de una configuración muy básica que estoy usando actualmente. Funciona para Atom, ST, etc.

http://editorconfig.org/

# Automatically add new line to end of all files on save.
[*]
insert_final_newline = true

# 2 space indentation for SASS/CSS
[*.{scss,sass,css}]
indent_style = space
indent_size = 2

# Set all JS to tab => space*2
[js/**.js]
indent_style = space
indent_size = 2
ConorLuddy
fuente
Casi tiré a Atom por completo hasta que vi esto. La configuración de config.cson parece no hacer absolutamente nada para los archivos existentes. ¡Gracias!
killthrush
3

Esto está integrado en el núcleo: ver Settings ⇒ Tab Typey elegir auto:

Cuando se establece en "auto", el editor detecta automáticamente el tipo de pestaña en función del contenido del búfer (usa el primer espacio en blanco inicial en una línea sin comentarios), o usa el valor de la configuración de configuración de Soft Tabs si auto- La detección falla.

También es posible que desee echar un vistazo al paquete de sangría de detección automática . De los documentos:

Detecta automáticamente la sangría de los archivos abiertos. Examina cada archivo abierto y establece la configuración de pestaña específica del archivo (pestañas duras / blandas, longitud de la pestaña) en función del contenido del archivo en lugar de utilizar siempre los valores predeterminados del editor.

Es posible que tenga un átomo configurado para usar 4 espacios para pestañas, pero abra un proyecto de rieles que tiene 2 espacios predeterminados. Sin este paquete, tendría que cambiar la configuración de su tabulación globalmente o arriesgarse a tener un espaciado de plomo inconsistente en sus archivos.

jcuenod
fuente
Si usa 'auto' y se equivoca (en mi caso, decidí usar espacios cuando quiero pestañas, en este archivo en particular) ¿cómo (con un menú rápido o pulsación de tecla, sin profundizar en la configuración) cambia de opinión? No creo que la detección automática haya fallado, simplemente se ha equivocado. No me escribirá una pestaña rígida para mí. He hecho búsquedas y reemplazos en todas partes, pero aún la tecla tabulador inserta 4 espacios.
Ed Randall
No hubiera usado search-and-replace, habría usado la paleta de comandos convert spaces to tabs(o algo así). Creo que eso me ha funcionado en el pasado.
jcuenod
3

Simplemente tuve el mismo problema, y ​​ninguna de las sugerencias anteriores funcionó. Finalmente intenté desmarcar las "pestañas suaves Atomic" en el menú de configuración del editor, que funcionó.

tparker
fuente
¡OH! Eso es lo que eso significa! Me preguntaba por qué mis teclas de flecha saltaban sobre los espacios cuando no había ninguno \ten el archivo ...
Andrew
2

Si está utilizando Babel, también puede asegurarse de actualizar su paquete "Language Babel". Para mí, aunque tenía la Longitud de la pestaña establecida en 2 en la configuración de mi editor principal, la misma configuración en la configuración de Language Babel la anulaba con 4.

Atom -> Preferences -> Packages -> (Search for Babel) -> Grammar -> Tab Length

Asegúrese de la gramática adecuada, hay "Gramática Javascript Babel ES6", "Gramática de la extensión babel-idioma", así como "Expresión regular". Probablemente desee actualizarlos todos para que sean coherentes.

Mike M
fuente
2

Control de pestañas brinda un buen control de manera similar a la descrita en su pregunta.

También es bueno, para los desarrolladores de JavaScript, la longitud de la pestaña de ESLint para usar la configuración de ESLint.

O si está utilizando un .editorconfigpara definir reglas de sangría específicas del proyecto, hay EditorConfig

Brett Zamir
fuente
1

Si la configuración global de sangría de pestañas / espacios ya no se ajusta a sus necesidades (es decir, se encuentra trabajando con bases de códigos heredadas con diversos formatos de sangría, y necesita cambiar rápidamente entre ellas, y la detección automática no funciona), puede probar la pestaña -control de control, que duplica la funcionalidad del menú en su captura de pantalla.

Ed Halferty
fuente
1

Cuando la detección automática de sangría de Atom se equivocó irremediablemente y se negó a dejarme escribir un carácter de tabulación literal, finalmente encontré la extensión 'Force-Tab' , que me devolvió el control. Quería mantener shift-tab para la sangría, así que configure ctrl-tab para insertar una pestaña dura. En mi mapa de teclas agregué:

'atom-text-editor': 'ctrl-tab': 'force-tab:insert-actual-tab'

Ed Randall
fuente
1

Si está utilizando la versión 1.21.1:

  1. Haga clic en Paquetes / Vista de configuración / Abrir
  2. Seleccione "Editor" en el panel lateral izquierdo
  3. Desplácese hacia abajo hasta que vea "Longitud de la pestaña"
  4. Edite el valor. Me gusta configurarlo en 4.

Ahora, solo cierra el panel de pestañas activo y listo.

Caiuby Freitas
fuente
0

Todas las respuestas más populares aquí son excelentes respuestas y activarán espacios para pestañas, pero a todos les falta una cosa. Cómo aplicar los espacios en lugar de pestañas al código existente.

Para hacer esto, simplemente seleccione todo el código que desea formatear, luego vaya a Editar-> Líneas-> Sangría automática y arreglará todo lo seleccionado.

Alternativamente, puede seleccionar todo el código que desea formatear, luego usar Ctrl Shift P y buscar la sangría automática. Simplemente haga clic en él en los resultados de búsqueda y solucionará todo lo seleccionado.

ajpieri
fuente
0

Cambiar la configuración específica del idioma

Cambié la configuración predeterminada de la pestaña, y todavía no tuvo impacto cuando estaba editando mis archivos, que eran archivos Python. Tampoco cambió cuando modifiqué la configuración "*" en ~ / .atom / config.cson. No tengo una buena explicación para ninguno de esos.

Sin embargo, cuando agregué lo siguiente a mi config.cson, pude cambiar la pestaña de mis archivos de Python a 2 espacios:

'.source.python':
  editor:
    tabLength: 2

Gracias a este recurso para la solución: la tecla Tab no respeta la longitud de la pestaña

MK Hunter
fuente