SwiftFormat: Automatyczny stylista dla Twojego kodu Swift

Kiedy kod sam się formatuje
Wyobraź sobie: w zespole pięciu deweloperów każdy pisze kod po swojemu. Jedni dodają spacje przed nawiasami, inni nie. Ktoś woli dzielić parametry funkcji na wiele linii, a ktoś inny pisze wszystko w jednej linii. Efektem jest patchworkowy codebase, a przegląd kodu zamienia się w niekończące się dyskusje o stylu.
SwiftFormat rozwiązuje dokładnie ten problem — narzędzie do automatycznego formatowania kodu Swift. Nie tylko dodaje spacje i wcięcia, ale przede wszystkim sprowadza kod do jednolitego standardu, naprawiając setki drobnych niespójności.
Co potrafi SwiftFormat?
-
Głęboka praca nad stylem:
- Poprawia wcięcia i wyrównanie
- Usuwa zbędne
selfi nawiasy - Naprawia kolejność modyfikatorów dostępu
- Unifikuje styl deklaracji domknięć
-
Elastyczna konfiguracja:
- Ponad 50 reguł formatowania
- Wsparcie dla plików konfiguracyjnych
.swiftformat - Możliwość tworzenia własnych reguł
-
Integracja w dowolnym miejscu:
- Linia poleceń do ręcznego uruchomienia
- Wtyczki dla Xcode, VSCode, Sublime Text
- Git pre-commit hooks
- Wsparcie CI/CD przez 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))
}
Jak zacząć?
Instalacja przez Homebrew:
brew install swiftformat
Podstawowe użycie:
# Форматировать все файлы в текущей директории
swiftformat .
# Только проверить стиль без изменений (линтер)
swiftformat --lint .
W przypadku projektów zaleca się dodanie SwiftFormat jako kroku budowania w Xcode lub pre-commit hooka w Git. Dzięki temu kod będzie automatycznie formatowany przed każdym commitem.
Elastyczność konfiguracji
SwiftFormat rozumie, że każdy projekt ma swoje wymagania stylistyczne. Możesz:
- Wyłączyć poszczególne reguły przez
--disable - Utworzyć plik
.swiftformatw korzeniu projektu - Konfigurować zachowanie dla konkretnych plików za pomocą komentarzy
Przykład konfiguracji:
# .swiftformat
--indent 4
--disable trailingCommas
--enable isEmpty
--header "Copyright (c) {year} MyCompany"
Dlaczego warto spróbować?
- Oszczędność czasu — nie musisz już spędzać godzin na ręcznym formatowaniu
- Spójny styl — koniec z dyskusjami w zespole o tym, gdzie postawić nawias
- Czysta historia git — mniej commitów "stylistycznych"
- Skupienie na logice — koncentruj się na tym, co naprawdę ważne
SwiftFormat jest szczególnie przydatny dla:
- Zespołów liczących 2+ deweloperów
- Projektów z długą historią rozwoju
- Częstych przeglądów kodu
- Utrzymywania jakości projektów open source
Pod maską
Projekt jest aktywnie rozwijany od 2016 roku, ma ponad 8,5 tys. gwiazdek na GitHubie i wspiera wszystkie obecne wersje Swifta. Pod maską kryje się potężny parser kodu Swift oraz system reguł, który można łączyć jak klocki LEGO.
# Показать все доступные правила
swiftformat --rules
# Информация о конкретном правиле
swiftformat --rule-info redundantSelf
Alternatywy
- SwiftLint: Bardziej skupiony na znajdowaniu problemów w kodzie niż na formatowaniu
- Ręczne skrypty: Wymagają konserwacji i często są mniej elastyczne
Główną zaletą SwiftFormat jest to, że nie tylko znajduje problemy — natychmiast je naprawia.
SwiftFormat to nie jest "kolejne narzędzie" — to prawdziwe ratowanie życia dla zespołów zmęczonych niekończącymi się poprawkami stylu. Zajmuje się całą rutynową pracą formatowania, pozwalając skupić się na rozwiązywaniu prawdziwych problemów.
Spróbuj dodać go do swojego workflow — rezultaty zobaczysz już po pierwszym uruchomieniu. Twój kod stanie się czystszy, a życie — łatwiejsze.