Об этом проекте
SwiftFormat — это библиотека кода и инструмент командной строки для переформатирования кода Swift на macOS, Linux или Windows. Помимо простой настройки пробелов, он может вставлять или удалять неявный `self`, удалять избыточные скобки и исправлять множество других отклонений от стандартных идиом Swift.
Заявленная мотивация проекта: согласование общего стиля кода помогает совместной работе, но ручное соблюдение стиля утомительно и чревато ошибками. Автоматический форматтер позволяет командам сосредоточиться на поведении кода, а не на его оформлении.
Способы использования:
- Инструмент командной строки, запускаемый вручную или как часть цепочки сборки.
- Расширение редактора Xcode, вызываемое через меню Editor > SwiftFormat.
- Фаза сборки Xcode, выполняемая при каждой сборке.
- Git pre-commit hook, форматирующий изменённые файлы перед коммитом.
- Командный плагин Swift Package Manager (Swift 5.6+).
- Интеграции для VSCode (через Run on Save), Sublime Text и Nova.
- GitHub Actions, Danger на CI, Bazel, Docker и AppleScript.
Варианты установки включают Homebrew (`brew install swiftformat`), Mint, Nix/nixpkgs, CocoaPods, бинарный артефакт-bundle в Package.swift или ручную сборку с помощью `swift build -c release`. Расширение Xcode доступно как cask Homebrew или из GitHub Releases.
Базовое использование: `swiftformat .` — форматирует Swift-файлы в текущем каталоге. В README предупреждается, что эта команда перезаписывает файлы на месте, поэтому перед запуском следует закоммитить изменения; `--infer-options` может предложить настройки, соответствующие существующему стилю проекта. Поддерживается конвейер стандартного ввода/вывода, включая `--stdin-path` для указания контекста расположения файла.
Конфигурация охватывает параметры, правила, версию Swift, файл конфигурации `.swiftformat`, glob-шаблоны, режим проверки (linting), коды ошибок, кэширование, заголовки файлов и форматирование Markdown. В README также есть FAQ, известные проблемы, «банка чаевых» и благодарности. Проект распространяется под лицензией MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.