Zum Inhalt springen
🛠️ToolsShed

EditorConfig Generator

Generiere .editorconfig-Dateien für konsistente Codierungsstile über Editoren hinweg.

# 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

Über dieses Tool

EditorConfig ist ein Konfigurationsdateiformat, das Entwicklungsteams hilft, konsistente Code-Formatierungsstile über verschiedene Editoren und IDEs hinweg zu erhalten. Wenn Teammitglieder unterschiedliche Editoren verwenden—Visual Studio Code, JetBrains IDEs, Sublime Text, Vim oder andere—stellt eine .editorconfig-Datei sicher, dass Einrückung, Zeilenumbrüche, Zeichensatz und andere Formatierungsregeln einheitlich bleiben, unabhängig davon, welches Werkzeug jeder bevorzugt. Dies eliminiert Formatierungskonflikte in Versionskontrollsystemen und reduziert die Zeit, die für Diskussionen über den Stil aufgewendet wird.

Um diesen Generator zu verwenden, wählen Sie einfach Ihre bevorzugten Einstellungen für Einrückungstyp (Tabulatoren oder Leerzeichen), Einrückungsgröße, Zeilenumbruchstil (LF, CRLF oder automatische Erkennung) und Zeichensatz aus. Sie können auch Regeln für bestimmte Dateitypen wie Python, JavaScript, JSON oder andere Sprachen, mit denen Sie arbeiten, konfigurieren. Nachdem Sie alle Einstellungen angepasst haben, laden Sie die generierte .editorconfig-Datei herunter und platzieren Sie sie im Stammverzeichnis Ihres Projekts. Die Editoren Ihrer Teammitglieder wenden diese Regeln automatisch an, wenn sie Dateien in diesem Projekt öffnen.

EditorConfig lässt sich durch integrierte Unterstützung oder leichte Plugins nahtlos in die meisten modernen Editoren integrieren und ist damit einer der einfachsten Wege, um Code-Stil-Konsistenz ohne zusätzliche Build-Tools oder Linter zu erzwingen. Teams, die an Open-Source-Projekten, Unternehmenscodebases oder Umgebungen für die Zusammenarbeit arbeiten, profitieren am meisten, da es eine einzige Quelle der Wahrheit für Formatierungseinstellungen schafft. Das Tool ist besonders für polyglottes Projekte nützlich, in denen mehrere Programmiersprachen koexistieren, da .editorconfig-Regeln pro Dateierweiterung angepasst werden können.

Häufig gestellte Fragen

Code-Implementierung

# 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.