EditorConfig mantém estilos de código consistentes entre diferentes editores e IDEs em equipes de desenvolvimento.
Configuração base para projetos
Coloque um arquivo .editorconfig na raiz do seu projeto:
# Declaração do arquivo raiz do EditorConfig
root = true
# Padrões globais para todos os arquivos
[*]
indent_style = space
indent_size = 2
tab_width = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
# Indentação de 4 espaços para Python
[*.py]
indent_size = 4
# Indentação por tabulações para Go e Makefiles
[*.go]
indent_style = tab
[Makefile]
indent_style = tab
# Arquivos Markdown preservam espaços no fim para quebras de linha
[*.md]
trim_trailing_whitespace = false
Propriedades Suportadas
| Propriedade | Valores Permitidos | Descrição |
|---|---|---|
root |
true |
Interrompe a busca recursiva em diretórios pais |
indent_style |
space | tab |
Tipo de caractere de indentação |
indent_size |
Integer | tab |
Número de colunas por nível de indentação |
tab_width |
Integer | Colunas usadas para representar uma tabulação (padrão: indent_size) |
end_of_line |
lf | crlf | cr |
Sequência de caracteres de fim de linha |
charset |
utf-8 | utf-16be | utf-16le | latin1 |
Codificação do arquivo |
trim_trailing_whitespace |
true | false |
Remove espaços em branco no final das linhas |
insert_final_newline |
true | false |
Garante que o arquivo termine com uma linha em branco |
max_line_length |
Integer | off |
Limite máximo sugerido de colunas por linha |
Correspondência de Padrões Glob
*: Corresponde a qualquer cadeia de caracteres, exceto barras (/)**: Corresponde a qualquer cadeia em vários diretórios?: Corresponde a qualquer caractere único[seq]: Corresponde a qualquer caractere em seq[!seq]: Corresponde a qualquer caractere fora de seq{s1,s2,s3}: Corresponde a qualquer uma das strings separadas por vírgula