Generador de EditorConfig

.editorconfig
Resultados

Un .editorconfig en la raíz del repositorio indica a cada IDE moderno cómo formatea este proyecto sus archivos, zanjando la discusión de tabs vs espacios archivo por archivo. Python: 4 espacios. JavaScript: 2. Makefile: tabs (requerido). Este generador construye un .editorconfig a partir de tus opciones de formato (estilo y tamaño de indentación, fin de línea, charset, longitud máxima de línea, nueva línea final y recorte de espacios al final) y siempre incluye los dos ajustes habituales: [*.md] conserva los espacios al final para los saltos de línea de Markdown, y [Makefile] usa tabs, como exige make.

Cómo construir un .editorconfig

  1. 1

    Establecer valores predeterminados globales

    Charset (utf-8 por defecto), fin de línea (lf vs crlf), estilo y tamaño de indentación, longitud máxima de línea, insertar nueva línea final, recortar espacios al final.

  2. 2

    Revisar los ajustes integrados

    El generador siempre añade `[*.md]` con `trim_trailing_whitespace = false` (Markdown necesita espacios finales para los saltos de línea) y `[Makefile]` con `indent_style = tab`, que make exige.

  3. 3

    Copiar el archivo

    Usa el botón de copiar para obtener el `.editorconfig` generado y colócalo en la raíz del repositorio.

  4. 4

    Ampliarlo después

    ¿Necesitas reglas por lenguaje? Añade tus propias secciones, por ejemplo `[*.py]` con `indent_size = 4`.

Qué hace .editorconfig

Un archivo llamado .editorconfig en la raíz de un proyecto (o en cualquier directorio) declara convenciones de formato. Los editores con soporte para EditorConfig (cada IDE importante y la mayoría de los editores de texto modernos) aplican esas reglas al abrir el archivo.

Ejemplo de salida

Con los ajustes predeterminados (espacios, tamaño 4, LF, utf-8) el generador produce:

root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120

[*.md]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab

Directivas clave

Directiva Valores aceptados Notas
root true / false Establecer true en la raíz del proyecto para que la búsqueda se detenga
charset utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le utf-8 es el predeterminado
end_of_line lf, crlf, cr lf para multiplataforma; crlf para repositorios solo de Windows
indent_style space, tab
indent_size entero Número de espacios, ignorado cuando es tab
tab_width entero Ancho visual de un tab (tamaño de indentación predeterminado)
insert_final_newline true / false Asegura archivos compatibles con POSIX
trim_trailing_whitespace true / false Desactivar para Markdown (espacios al final significan saltos de línea)

Convenciones de lenguaje a simple vista

Lenguaje / archivo Convención
JS, TS, JSON 2 espacios
HTML, CSS, YAML 2 espacios
Python 4 espacios (PEP 8)
PHP 4 espacios (PSR-12)
Ruby 2 espacios
Go Tabs (gofmt lo impone)
Rust 4 espacios (rustfmt lo impone)
Java 4 espacios
Makefile Tabs (requerido por make)
Markdown Mantener espacios en blanco al final (usado para <br>)
Batch/CMD (.bat) finales de línea crlf

Trampa: Espacios en blanco al final en Markdown

En Markdown, dos espacios al final de una línea significan “insertar un <br> aquí”. Si tu .editorconfig recorta espacios en blanco al final para todos los archivos, esos saltos de línea desaparecen. Sobrescribe con trim_trailing_whitespace = false para [*.md].

¿Tu IDE lo soporta?

Soporte nativo: VS Code, familia JetBrains IntelliJ, Sublime Text, Vim (a través de plugin), Emacs (a través de plugin), Atom, Notepad++, Xcode. Si un editor no soporta EditorConfig de forma nativa, generalmente tiene un plugin. El archivo también es legible por máquina, por lo que los linters y formateadores pueden respetarlo.

Preguntas frecuentes

En la raíz del proyecto con root = true. Puedes agregar archivos .editorconfig adicionales en subdirectorios para sobrescribir rutas específicas; la búsqueda sube por el árbol y se detiene en el primer archivo root = true que encuentra.

No. EditorConfig maneja los básicos de espacios en blanco y finales de línea en cada editor. Prettier y linters específicos de lenguaje manejan reglas de estilo más profundas (comillas, punto y coma, comas finales). Ambos se complementan.

Establece end_of_line = crlf si las herramientas de Windows en el repositorio realmente lo requieren. Mejor opción: confirma (commit) end_of_line = lf y agrega un .gitattributes con * text=auto para que git normalice los finales de línea al hacer commit mientras que los checkouts son apropiados para el SO.

No. Tus opciones solo se usan para generar el archivo; no se almacena nada en nuestros servidores ni se conserva nada cuando abandonas la página.

Herramientas relacionadas

Herramienta disponible en otros idiomas