Ключові Особливості Swift Formatter
- **Одноклацантне очищення** відступів, пробілів та фігурних дужок у коді Swift
- **Налаштовуваний розмір відступу** через повзунок *Розмір відступу* (1–8 пробілів)
- **Контроль перенесення / довжини рядка** для утримання довгих виразів у межах вашої бажаної ширини колонки
- Підтримує стандартні `.swift` вихідні файли та вставлені фрагменти
- Чудово підходить для проектів **iOS, macOS, watchOS, tvOS та серверного Swift**
- Використовує рушій у стилі SwiftFormat для ідіоматичного виводу Swift
- Ідемпотентне форматування – багаторазове виконання дає той самий результат
- Акаунт не потрібен – просто вставте, відформатуйте та скопіюйте очищений результат
🛠️ Як використовувати форматер Swift for swift-formatter
1. Вставте або завантажте ваш код Swift
📥 Вставте код Swift безпосередньо в редактор або перетягніть файл `.swift`. Інструмент оптимізований для типових джерел Swift у стилі Xcode.
2. Встановіть відступи та довжину рядка
📏 Використовуйте повзунок **Розмір відступу**, щоб вибрати кількість пробілів для кожного рівня відступу, та налаштуйте **Перенесення / Довжина рядка**, щоб контролювати, де довгі рядки мають переноситися (або встановіть `0`, щоб вимкнути форматування на основі перенесення).
3. Натисніть «Форматувати»
⚡ Натисніть кнопку **Форматувати**, щоб застосувати правила у стилі SwiftFormat. Форматер нормалізує відступи, пробіли навколо `:` та операторів, і переносить довгі рядки відповідно до ваших налаштувань.
4. Перевірте та скопіюйте результат
🔍 Порівняйте оригінальну та відформатовану версії. Коли ви задоволені результатом, скопіюйте відформатований Swift назад у Xcode, Swift Playground або ваш Git-коміт.
Технічні характеристики
Руший форматування та стиль
Інструмент відображає загальні конвенції SwiftFormat, щоб підтримувати узгодженість вашої кодової бази між файлами та учасниками.
| Аспект | Поведінка | Примітки |
|---|---|---|
| Мова | Swift | Найкраще працює з вихідними файлами Swift 5+. |
| Відступи | Налаштовувані пробіли на рівень | Контролюється опцією **Розмір відступу** (1–8). |
| Перенесення рядків | Опціональна колонка перенесення | Контролюється **Перенесення / Довжина рядка** (0–120; `0` = без перенесення). |
| Пробіли | Нормалізовані навколо `:` та операторів | Покращує читабельність та узгодженість під час перегляду коду. |
| Ідемпотентний вивід | Один вхід → один вивід | Безпечно запускати багато разів без зсуву форматування. |
Підтримуваний ввід та обмеження
Орієнтований на реальні вихідні файли Swift, що використовуються в проектах для платформ Apple та серверного Swift.
| Параметр | Значення / Поведінка | Примітки |
|---|---|---|
| Розширення файлів | .swift | Стандартні вихідні файли Swift. |
| Типи MIME | text/x-swift | Використовується внутрішньо для визначення редактором та зоною перетягування. |
| Максимальний розмір введення | ≈ 2 МБ вихідного коду | Дуже великі файли краще форматувати за допомогою локального SwiftFormat у CI. |
| Розширення виводу | .swift | Відформатований вміст найкраще зберігати як вихідний файл Swift. |
Валідація та Помилки
Форматер очікує синтаксично правильний Swift. Якщо вхідні дані неповні або містять серйозні синтаксичні помилки, він може завершитися невдачею або повернути повідомлення про помилку замість відформатованого виводу.
Альтернативи командного рядка з SwiftFormat
Хочете мати той самий стиль у Xcode, CI або pre-commit хуках? Використовуйте SwiftFormat безпосередньо:
macOS (Homebrew)
Встановіть SwiftFormat через Homebrew
brew install swiftformatДодає CLI `swiftformat` до вашої системи.
Відформатувати один файл Swift
swiftformat MyViewController.swiftПереписує файл на місці, використовуючи стандартні правила SwiftFormat.
Відформатувати весь проект Xcode
swiftformat .Рекурсивно форматує всі файли `.swift` у поточному каталозі.
Конфігурація на рівні проекту
Використовуйте власну конфігурацію
swiftformat . --config .swiftformatЗастосовує правила, специфічні для команди, збережені у файлі конфігурації `.swiftformat`.
Інтегруйте з Git pre-commit
swiftformat . && git commitЗапускайте SwiftFormat перед кожним комітом, щоб тримати вашу основну гілку чистою.
Практичні Сценарії Використання Swift Formatter
Розробка Додатків для iOS та macOS
Зберігайте код з UIKit, SwiftUI та Combine читабельним і послідовним у різних гілках функціоналу.
- Стандартизуйте форматування контролерів представлення, моделей представлення та сервісів перед код-рев'ю.
- Очистіть код з блокнота або прототипу Swift перед копіюванням у продакшн-цілі.
- Вирівняйте відступи та переноси складних ієрархій SwiftUI представлень.
struct ContentView: View {
var body: some View {
VStack {
Text("Hello")
Button("Tap me") {
print("Tapped")
}
}
}
}
Серверний Swift (Vapor, Hummingbird тощо)
Зробіть обробники API та код маршрутизації зручнішими для перегляду та рецензування.
- Переформатуйте оголошення маршрутів та проміжного ПЗ, щоб складні ланцюги були легкими для відстеження.
- Очистіть структури кодування/декодування JSON з довгими списками властивостей.
- Забезпечте послідовне перенесення довгих викликів SQL або HTTP-клієнта у коді Swift.
app.get("hello") { req async throws -> String in
"Hello, world!"
}
Навчання Swift
Покажіть студентам, як виглядає ідіоматичний Swift, і зменшіть «шум стилю» у вправах.
- Нормалізуйте код Swift перед публікацією прикладів у слайдах або документації.
- Очистіть студентські роботи, щоб зосередитися на логіці замість пробілів та відступів.
- Продемонструйте, як гарне форматування покращує читабельність без зміни поведінки.
func fibonacci(_ n: Int) -> Int {
if n < 2 { return n }
return fibonacci(n - 1) + fibonacci(n - 2)
}
❓ Frequently Asked Questions
❓Що саме змінює цей форматер Swift?
📏Що вибрати для Wrap / Довжини рядка?
🧹Чи є це заміною для SwiftLint?
🔒Чи безпечно вставляти продакшн-код Swift сюди?
⚡Чи можна запускати цей форматер автоматично при кожному коміті?
Pro Tips
Узгодьте з командою єдиний **Розмір відступу** та **Довжину рядка / Перенесення**, а потім відобразіть ці значення як у цьому інструменті, так і у вашій конфігурації `.swiftformat`.
Запускайте форматувальник у запитах на злиття, щоб зосередити огляди коду на логіці та архітектурі замість суперечок щодо пробілів.
Використовуйте форматувальник для згенерованого коду Swift (наприклад, від інструментів генерації коду), щоб він виглядав так само чисто, як ваш рукописний код.
Поєднуйте цей форматувальник з функцією «Перевідступ» Xcode лише для швидких локальних коригувань; використовуйте SwiftFormat у CI для підтримки дійсно послідовного стилю.
Additional Resources
Other Tools
- Прикрашувач CSS
- Прикрашувач HTML
- Прикрашувач JavaScript
- Прикрашувач PHP
- Вибір кольору
- Екстрактор спрайтів
- Декодер Base64
- Кодувальник Base64
- Форматувальник C#
- Форматувальник CSV
- Dockerfile Formatter
- Форматувальник Elm
- Форматувальник ENV
- Форматувальник Go
- Форматувальник GraphQL
- Форматувальник HCL
- Форматувальник INI
- Форматувальник JSON
- Форматувальник LaTeX
- Форматувальник Markdown
- Форматувальник Objective-C
- Php Formatter
- Форматувальник Proto
- Форматувальник Python
- Форматувальник Ruby
- Форматувальник Rust
- Форматувальник Scala
- Форматувальник shell-скриптів
- Форматувальник SQL
- Форматер SVG
- Форматер TOML
- Typescript Formatter
- Форматер XML
- Форматер YAML
- Форматер Yarn
- Мініфікатор CSS
- Html Minifier
- Javascript Minifier
- Мініфікатор JSON
- Мініфікатор XML
- Переглядач HTTP-заголовків
- PDF у текст
- Тестер регулярних виразів
- Перевірка позицій у SERP
- Пошук Whois