nicklockwood/SwiftFormat
Swiftコードを一貫したスタイルに自動整形するCLIツールとXcode拡張機能。
- スター
- 8,955
- フォーク
- 727
- 未解決の Issue
- 289
- 最終コミット
- 昨日
これは何?
SwiftFormatは、macOS、Linux、WindowsでSwiftコードを整形するためのコードライブラリ兼CLIツールです。空白の調整に加え、暗黙のselfの追加・削除、冗長な括弧の削除など、Swiftの標準的な慣用表現から外れたさまざまな書き方を修正できます。
チームで共通のコーディングスタイルを徹底する際の負担を、手作業でレビューする代わりにルールを自動適用することで軽減します。整形の動作は150を超えるルールと各種オプションで制御でき、コマンドライン、.swiftformat設定ファイル、またはソースコードのコメント内に記述するswiftformatディレクティブで指定できます。ファイルを変更せずに違反を報告するlintモードは、CIチェックに適しています。
ターミナルから実行できるほか、Swift Package Managerプラグイン、Xcodeのビルドフェーズ、Source Editor Extensionとしても利用できます。Homebrew、Mint、Nix、Docker、GitHub Actions経由でインストールできます。
主な機能
- 01暗黙のselfを追加・削除し、冗長な括弧を削除します。
- 02個別に有効・無効を切り替えられる150以上の整形ルールを備えています。
- 03.swiftformat設定ファイルからプロジェクト設定を読み込み、ディレクトリごとの上書きにも対応します。
- 04ファイルを変更せずに違反を報告するlintモードを利用できます。
- 05Xcode、Swift Package Manager、Gitのpre-commitフック、GitHub Actionsと連携します。
ユースケース
- チームのリポジトリ全体でSwiftのコーディングスタイルを統一する。
- CIで整形チェックを実行し、未整形のプルリクエストをブロックする。
- 保存時やコミット時にSwiftファイルを自動整形する。
- ビルド中にXcodeプロジェクト内のSwiftコードを整形する。
クイックスタート
- 1
Homebrewでコマンドラインツールをインストールする
brew install swiftformat - 2
現在のディレクトリにあるSwiftファイルをフォーマットする
swiftformat .
使う前に知っておきたいこと
- swiftformat . を実行するとSwiftファイルが直接上書きされるため、事前に変更をバージョン管理にコミットしてください。
収録されている特集
トピック
よくある質問
- SwiftFormat とは?
- Swiftコードを一貫したスタイルに自動整形するCLIツールとXcode拡張機能。 SwiftFormatは、macOS、Linux、WindowsでSwiftコードを整形するためのコードライブラリ兼CLIツールです。空白の調整に加え、暗黙のselfの追加・削除、冗長な括弧の削除など、Swiftの標準的な慣用表現から外れたさまざまな書き方を修正できます。
- SwiftFormat は無料で使えますか?ライセンスは?
- SwiftFormat は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- SwiftFormat は今もメンテナンスされていますか?
- 活発にメンテナンス中。SwiftFormat の最終コミットは 2026年11月5日 です。
- SwiftFormat は何に使えますか?
- チームのリポジトリ全体でSwiftのコーディングスタイルを統一する。 CIで整形チェックを実行し、未整形のプルリクエストをブロックする。 保存時やコミット時にSwiftファイルを自動整形する。 ビルド中にXcodeプロジェクト内のSwiftコードを整形する。
- SwiftFormat のインストール方法は?
- Homebrewでコマンドラインツールをインストールする: brew install swiftformat 現在のディレクトリにあるSwiftファイルをフォーマットする: swiftformat .
- SwiftFormat はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/nicklockwood/SwiftFormat
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Blackは、ファイルをその場で書き換え、差分を最小限に抑える、独自の方針を持つ決定論的なPythonコードフォーマッターです。
clang-formatのレイアウトアルゴリズムを基に、設定可能なスタイルでPythonソースファイルを整形するフォーマッター。
プロジェクト内のディレクトリ名とファイル名の命名規則を、.ls-lint.ymlで設定してチェックする高速なコマンドラインリンターです。
Rust製の超高速Pythonリンター/フォーマッター。900以上のlintルールを備え、Black互換のフォーマットに対応します。