Gerador de EditorConfig
Um .editorconfig na raiz do repositório informa a cada IDE moderna como este projeto formata seus arquivos, encerrando a discussão tabs vs espaços arquivo por arquivo. Python: 4 espaços. JavaScript: 2. Makefile: tabs (obrigatório). Este gerador cria um .editorconfig a partir das suas escolhas de formatação (estilo e tamanho de indentação, fim de linha, charset, comprimento máximo de linha, nova linha final e remoção de espaços em branco no final) e sempre inclui os dois ajustes comuns: [*.md] mantém os espaços finais para as quebras de linha do Markdown, e [Makefile] usa tabs, como o make exige.
Como construir um .editorconfig
-
1
Defina os padrões globais
Charset (utf-8 por padrão), fim de linha (lf vs crlf), estilo e tamanho de indentação, comprimento máximo de linha, inserir nova linha final, remover espaços em branco no final.
-
2
Confira os ajustes integrados
O gerador sempre adiciona `[*.md]` com `trim_trailing_whitespace = false` (o Markdown precisa de espaços finais para quebras de linha) e `[Makefile]` com `indent_style = tab`, exigido pelo próprio make.
-
3
Copie o arquivo
Use o botão de copiar para obter o `.editorconfig` gerado e coloque-o na raiz do repositório.
-
4
Amplie depois
Precisa de regras por linguagem? Adicione suas próprias seções, por exemplo `[*.py]` com `indent_size = 4`.
O que .editorconfig faz
Um arquivo chamado .editorconfig na raiz de um projeto (ou em qualquer diretório) declara convenções de formatação. Editores com suporte a EditorConfig (todas as principais IDEs e a maioria dos editores de texto modernos) aplicam essas regras ao abrir arquivos.
Exemplo de saída
Com as configurações padrão (espaços, tamanho 4, LF, utf-8) o gerador produz:
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
Diretrizes principais
| Diretriz | Valores aceitos | Notas |
|---|---|---|
| root | true / false | Defina como true na raiz do projeto para que a busca pare |
| charset | utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le | utf-8 é o padrão |
| end_of_line | lf, crlf, cr | lf para multiplataforma; crlf para repositórios apenas Windows |
| indent_style | space, tab | |
| indent_size | inteiro | Número de espaços, ignorado quando tab |
| tab_width | inteiro | Largura visual de um tab (tamanho de indentação padrão) |
| insert_final_newline | true / false | Garante arquivos compatíveis com POSIX |
| trim_trailing_whitespace | true / false | Desative para Markdown (espaços em branco no final significam quebras de linha) |
Convenções de linguagem em resumo
| Linguagem / arquivo | Convenção |
|---|---|
| JS, TS, JSON | 2 espaços |
| HTML, CSS, YAML | 2 espaços |
| Python | 4 espaços (PEP 8) |
| PHP | 4 espaços (PSR-12) |
| Ruby | 2 espaços |
| Go | Tabs (gofmt impõe) |
| Rust | 4 espaços (rustfmt impõe) |
| Java | 4 espaços |
| Makefile | Tabs (obrigatório pelo make) |
| Markdown | Mantenha espaços em branco no final (usado para <br>) |
| Batch/CMD (.bat) | quebras de linha crlf |
Armadilha: espaços em branco no final do Markdown
No Markdown, dois espaços em branco no final de uma linha significam “insira um <br> aqui”. Se seu .editorconfig remove espaços em branco no final para todos os arquivos, essas quebras de linha desaparecem. Substitua com trim_trailing_whitespace = false para [*.md].
Seu IDE suporta isso?
Suporte nativo: VS Code, família JetBrains IntelliJ, Sublime Text, Vim (via plugin), Emacs (via plugin), Atom, Notepad++, Xcode. Se um editor não suporta EditorConfig por padrão, geralmente tem um plugin. O arquivo também é legível por máquina, então linters e formatadores podem respeitá-lo.
Perguntas frequentes
Na raiz do projeto com root = true. Você pode adicionar arquivos .editorconfig adicionais em subdiretórios para substituir caminhos específicos; a busca sobe na árvore e para no primeiro arquivo root = true que encontrar.
Não. O EditorConfig lida com o básico de espaços em branco e quebras de linha em todos os editores. O Prettier e linters específicos de linguagem lidam com regras de estilo mais profundas (citações, ponto e vírgula, vírgulas finais). Os dois se complementam.
Defina end_of_line = crlf se as ferramentas do Windows no repositório realmente exigirem isso. Melhor opção: comite end_of_line = lf e adicione um .gitattributes com * text=auto para que o git normalize as quebras de linha no commit enquanto os checkouts são apropriados para o SO.
Não. Suas escolhas são usadas apenas para gerar o arquivo; nada é armazenado em nossos servidores nem mantido depois que você sai da página.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de Cores Análogas
Crie uma paleta análoga de cinco cores a partir de qualquer cor base, com o trio clássico, dois tons externos e valores hex, RGB e HSL.
Formatador de HTML
Formate HTML localmente no navegador com indentação de dois ou quatro espaços. O HTML não é enviado nem validado.
Gerador de Papel de Parede em Gradiente
Gere papéis de parede em gradiente borrados de três cores para laptop, telefone ou fundos do Zoom. Randomize ou defina o ângulo e o desfoque manualmente.
Ferramenta disponível em outros idiomas
- EditorConfig-Generator [DE]
- EditorConfig Oluşturucu [TR]
- مولد EditorConfig [AR]
- EditorConfig Generator [EN]
- 编辑器配置生成器 [ZH]
- EditorConfig ジェネレーター [JA]
- Generator EditorConfig [PL]
- EditorConfig-generator [NL]
- Generador de EditorConfig [ES]
- 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]