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

.editorconfig

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

  1. Escolha a Indentação (espaços ou tabs) e o Tamanho da indentação ou a Largura do tab.
  2. Defina o Fim de linha, o Conjunto de caracteres e um Comprimento máximo da linha opcional.
  3. 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.
  4. Baixe o .editorconfig e coloque-o na raiz do seu projeto.

Exemplo

Entrada
Spaces, size 2, LF, UTF-8, trim whitespace, final newline, Markdown and Makefile overrides
Saída
# 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.

Explore mais categorias