Generador de EditorConfig
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
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
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
Copiar el archivo
Usa el botón de copiar para obtener el `.editorconfig` generado y colócalo en la raíz del repositorio.
-
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
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Generador de Paletas de Color
Genera paletas monocromáticas, análogas, complementarias, triádicas o tetrádicas desde un color base HEX y exporta variables CSS listas para copiar.
Formateador de JSON
Pega JSON para verlo con sangría de 2 o 4 espacios, minificarlo en una salida compacta o comprobar rápidamente la sintaxis antes de copiar el resultado.
Herramienta disponible en otros idiomas
- EditorConfig-Generator [DE]
- EditorConfig Oluşturucu [TR]
- مولد EditorConfig [AR]
- EditorConfig Generator [EN]
- Gerador de EditorConfig [PT]
- 编辑器配置生成器 [ZH]
- EditorConfig ジェネレーター [JA]
- Generator EditorConfig [PL]
- EditorConfig-generator [NL]
- EditorConfig 생성기 [KO]
- Trình tạo EditorConfig [VI]
- EditorConfig-generator [SV]
- Generator EditorConfig [ID]
- เครื่องมือสร้าง EditorConfig [TH]
- Générateur EditorConfig [FR]
- Generatore EditorConfig [IT]
- Генератор EditorConfig [RU]