Pular para o conteúdo
🛠️ToolsShed

EditorConfig Generator

Gere arquivos .editorconfig para estilos de código consistentes em editores.

# 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
max_line_length = 120

[*.json]
indent_size = 2

[*.md]
trim_trailing_whitespace = false

Sobre esta ferramenta

EditorConfig é um formato de arquivo de configuração que ajuda equipes de desenvolvimento a manter estilos de formatação de código consistentes em diferentes editores e IDEs. Quando membros da equipe usam editores diferentes—Visual Studio Code, JetBrains IDEs, Sublime Text, Vim ou outros—um arquivo .editorconfig garante que a indentação, quebras de linha, conjunto de caracteres e outras regras de formatação permaneçam uniformes, independentemente da ferramenta que cada pessoa prefira. Isso elimina conflitos de formatação em sistemas de controle de versão e reduz o tempo gasto em discussões de estilo.

Para usar este gerador, simplesmente selecione suas configurações preferidas para tipo de indentação (tabulações ou espaços), tamanho de indentação, estilo de quebra de linha (LF, CRLF ou detecção automática) e conjunto de caracteres. Você também pode configurar regras para tipos de arquivo específicos como Python, JavaScript, JSON ou qualquer outra linguagem com a qual trabalhe. Depois de personalizar todas as configurações, baixe o arquivo .editorconfig gerado e coloque-o no diretório raiz do seu projeto. Os editores dos membros da sua equipe aplicarão automaticamente essas regras quando abrirem arquivos nesse projeto.

EditorConfig se integra perfeitamente com a maioria dos editores modernos através de suporte integrado ou plugins leves, o que o torna uma das formas mais simples de aplicar consistência de estilo de código sem ferramentas de compilação adicionais ou linters. Equipes que trabalham em projetos de código aberto, bases de código corporativas ou ambientes colaborativos se beneficiam mais, pois cria uma única fonte de verdade para preferências de formatação. A ferramenta é particularmente útil para projetos poliglotas onde múltiplas linguagens de programação coexistem, pois as regras de .editorconfig podem ser personalizadas por extensão de arquivo.

Perguntas Frequentes

Implementação de Código

# Generate a .editorconfig file programmatically

def generate_editorconfig(indent_style="space", indent_size=2, end_of_line="lf",
                           charset="utf-8", trim_trailing_whitespace=True,
                           insert_final_newline=True) -> str:
    lines = [
        "# EditorConfig is awesome: https://editorconfig.org",
        "",
        "# top-most EditorConfig file",
        "root = true",
        "",
        "[*]",
        f"indent_style = {indent_style}",
        f"indent_size = {indent_size}",
        f"end_of_line = {end_of_line}",
        f"charset = {charset}",
        f"trim_trailing_whitespace = {str(trim_trailing_whitespace).lower()}",
        f"insert_final_newline = {str(insert_final_newline).lower()}",
        "",
        "[*.md]",
        "trim_trailing_whitespace = false",
        "",
        "[Makefile]",
        "indent_style = tab",
        "",
        "[*.{json,yml,yaml}]",
        "indent_size = 2",
    ]
    return "\n".join(lines)

config = generate_editorconfig(indent_style="space", indent_size=4)
print(config)

# Write to file
with open(".editorconfig", "w") as f:
    f.write(config)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.