SwiftFormat: Der automatische Stylist für euren Swift-Code

Wenn sich Code selbst formatiert
Stellt euch vor: In einem Team mit fünf Entwicklern schreibt jeder Code auf seine eigene Art. Manche fügen Leerzeichen vor Klammern ein, manche nicht. Einer bevorzugt es, Funktionsparameter über mehrere Zeilen aufzuteilen, ein anderer schreibt alles in eine einzige Zeile. Das Ergebnis ist ein Flickenteppich im Codebase, und Code-Reviews werden zu endlosen Stil-Debatten.
SwiftFormat löst genau dieses Problem – ein Tool für die automatische Formatierung von Swift-Code. Es fügt nicht nur Leerzeichen und Einrückungen hinzu, sondern bringt den Code an einen einheitlichen Standard und behebt Hunderte kleinerer Inkonsistenzen.
Was kann SwiftFormat?
-
Tiefgreifende Stil-Arbeit:
- Korrigiert Einrückungen und Ausrichtungen
- Entfernt redundante
selfund Klammern - Behebt die Reihenfolge von Access-Modifiern
- Vereinheitlicht den Stil für Closure-Deklarationen
-
Flexible Konfiguration:
- Mehr als 50 Formatierungsregeln
- Unterstützung für Konfigurationsdateien
.swiftformat - Möglichkeit, eigene Regeln zu erstellen
-
Integration überall:
- Kommandozeile für manuelle Ausführung
- Plugins für Xcode, VSCode, Sublime Text
- Git Pre-Commit-Hooks
- CI/CD-Unterstützung via GitHub Actions
// До форматирования
func processData(data:[String:Any], completion:(Result)->Void){
guard let value=data["key"] else{return}
self.completion(.success(value))
}
// После SwiftFormat
func processData(
data: [String: Any],
completion: (Result) -> Void
) {
guard let value = data["key"] else { return }
completion(.success(value))
}
Wie fängt man an?
Installation via Homebrew:
brew install swiftformat
Grundlegende Verwendung:
# Форматировать все файлы в текущей директории
swiftformat .
# Только проверить стиль без изменений (линтер)
swiftformat --lint .
Für Projekte empfiehlt es sich, SwiftFormat als Build-Schritt in Xcode oder als Pre-Commit-Hook in Git hinzuzufügen. So wird der Code vor jedem Commit automatisch formatiert.
Flexibilität der Konfiguration
SwiftFormat weiß, dass jedes Projekt seine eigenen Stil-Anforderungen hat. Ihr könnt:
- Einzelne Regeln über
--disabledeaktivieren - Eine
.swiftformat-Datei im Projekt-Root erstellen - Das Verhalten für bestimmte Dateien über Kommentare konfigurieren
Konfigurationsbeispiel:
# .swiftformat
--indent 4
--disable trailingCommas
--enable isEmpty
--header "Copyright (c) {year} MyCompany"
Warum es ausprobieren?
- Zeitersparnis — keine stundenlange manuelle Formatierung mehr
- Einheitlicher Stil — keine Team-Debatten mehr darüber, wo Klammern hingehören
- Sauberer Git-Verlauf — weniger „Stil"-Commits
- Fokus auf Logik — konzentriert euch auf das, was wirklich zählt
SwiftFormat ist besonders nützlich für:
- Teams mit 2+ Entwicklern
- Projekte mit langer Entwicklungsgeschichte
- Häufige Code-Reviews
- Die Qualität von Open-Source-Projekten
Unter der Haube
Das Projekt wird seit 2016 aktiv entwickelt, hat über 8,5k Sterne auf GitHub und unterstützt alle aktuellen Swift-Versionen. Unter der Haube steckt ein leistungsstarker Swift-Code-Parser und ein Regelsystem, das ihr wie LEGO-Bausteine kombinieren könnt.
# Показать все доступные правила
swiftformat --rules
# Информация о конкретном правиле
swiftformat --rule-info redundantSelf
Alternativen
- SwiftLint: Mehr auf das Finden von Code-Problemen fokussiert als auf Formatierung
- Selbstgeschriebene Scripts: Erfordern Wartung und sind oft weniger flexibel
SwiftFormats größter Vorteil ist, dass es Probleme nicht nur findet – sondern sie sofort behebt.
SwiftFormat ist nicht nur „ein weiteres Tool" – es ist ein echter Lebensretter für Teams, die endlosen Stil-Korrekturen leid sind. Es übernimmt die gesamte routinemäßige Formatierungsarbeit und ermöglicht es euch, euch auf echte Probleme zu konzentrieren.
Probiert es in eurem Workflow aus – ihr werdet nach dem ersten Durchlauf Ergebnisse sehen. Euer Code wird sauberer und das Leben leichter.