Repolode
nicklockwood

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. 1

    Homebrewでコマンドラインツールをインストールする

    brew install swiftformat
  2. 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 の数値は毎日更新されます。

関連プロジェクト