Gerador de .editorconfig
Crie um arquivo .editorconfig para indentação, fim de linha, charset e espaços consistentes entre editores, com regras para Markdown, YAML, Python, Go e Makefile.
0 = não definido
O que é Gerador de .editorconfig?
O EditorConfig mantém o estilo de código consistente entre editores e IDEs (VS Code, JetBrains, Vim, Visual Studio, Sublime…). Esta ferramenta cria um arquivo .editorconfig com suas regras de indentação, fim de linha, conjunto de caracteres e espaços em branco, além de regras comuns por tipo de arquivo, como tabs para Makefiles e Go ou 4 espaços para Python.
Como usar Gerador de .editorconfig
- Escolha a Indentação (espaços ou tabs) e o Tamanho da indentação ou a Largura do tab.
- Defina o Fim de linha, o Conjunto de caracteres e um Comprimento máximo da linha opcional.
- Ative ou desative Remover espaços no fim das linhas e Inserir nova linha no fim e escolha as Regras por tipo de arquivo de que precisa.
- Baixe o
.editorconfige coloque-o na raiz do seu projeto.
Exemplo
Spaces, size 2, LF, UTF-8, trim whitespace, final newline, Markdown and Makefile overrides
# EditorConfig: https://editorconfig.org root = true [*] indent_style = space indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.md] trim_trailing_whitespace = false [Makefile] indent_style = tab
Quando usar Gerador de .editorconfig
Use-o em qualquer repositório editado por mais de uma pessoa ou editor, especialmente em equipes mistas Windows/macOS/Linux, em que os fins de linha diferem. O EditorConfig controla só os espaços em branco básicos; use um formatador como Prettier, Black ou gofmt para o estilo de código completo, de preferência configurado de acordo com essas regras.
Como funciona Gerador de .editorconfig
O arquivo começa com root = true para que os editores parem de procurar nas pastas superiores, seguido de uma seção [*] com indent_style, indent_size (ou tab com tab_width ao usar tabs), end_of_line, charset, trim_trailing_whitespace e insert_final_newline da especificação EditorConfig. As regras específicas entram como seções glob posteriores ([*.md], [*.{yml,yaml}], [*.py], [*.go], [Makefile]), que têm precedência sobre [*] nos arquivos correspondentes.
Casos de Uso Comuns
- Acabar com a briga de tab vs. espaço e CRLF/LF nos pull requests
- Definir indentação de 2 espaços para um projeto JavaScript
- Manter tabs em Makefiles usando espaços no resto
- Preservar quebras de linha do Markdown feitas com espaços no fim
Perguntas Frequentes
O VS Code suporta .editorconfig?
Sim, pela extensão oficial do EditorConfig. As IDEs JetBrains, o Visual Studio e o editor web do GitHub o suportam nativamente.
Por que trim_trailing_whitespace = false para Markdown?
No Markdown, dois espaços no fim criam uma quebra de linha, então removê-los mudaria o documento renderizado.
LF ou CRLF?
LF é o padrão na maioria dos repositórios, inclusive em projetos Windows que usam o autocrlf do Git. Use CRLF só se ferramentas exclusivas do Windows exigirem.