SwiftFormat に、Swift Package Manager ビルドツールプラグインの機能が追加されました。この SwiftFormat プラグインの導入方法についてREADMEに沿って説明します。
おそらく 2022/11/24 にリリースされた SwiftFormat 0.50.4 で対応されたのではないかと思います。
SwiftFormat 0.50.4 リリースノート
Added Swift package command plugin
関連PR
README.md
インフォメーション
記事執筆現在、既に 0.50.7 がリリースされています。
導入される方は最新のリリースを導入すると良いと思います
SwiftFormat のプラグインとは
この機能により、SwiftFormat を SwiftPM コマンド プラグインとして使用できます。
なお、そもそもプラグインとは何かを知りたい方は、以下の記事を読まれることをおすすめします
開発環境
- Xcode 14.0 以降
- Swift 5.6 以降
SwiftFormat のプラグインの導入方法
SwiftFormat のプラグインの導入方法は、2種類あります。
- Xcode project
- Xcode project の "Package Dependencies" から SwiftFormat を追加する方法
- Package.swift
- Package.swift に記述する方法
詳しくは README.md に記述されているので、ご参照ください。
当記事では、Xcode project で導入する方法をスクショと共に説明します。
Xcode project 編
1. プロジェクト設定の "Package Dependencies" タブを開き、"+" ボタンをクリックします。
2. 右上の検索バーに github.com/nicklockwood/SwiftFormat
を入力し、SwiftFormat を検索します。
"Dependency Rule" を適宜変更してください(画像の場合は、 Up to Next Minor Version
で、0.50.4 以上を指定しています)。
3. "Package Product" で選択候補が3つ出ますが、 SwiftFormat (Library)
のみチェックを入れます。
4. パッケージ追加後の様子
Xcode プロジェクトからのプラグインの実行方法
1. プロジェクト上で右クリックし、 SwiftFormatPlugin
をクリックします。
2. Run
をクリックします。
例
実行前
実行後
インフォメーション
SwiftFormat のルールを記述する .swiftformat
ファイルを作成しない場合は、SwiftFormat のデフォルトのルールが適用されます。
検討事項
Xcodeからプラグインを実行する場合の実行タイミングは、毎回のコミット前にするのがいいかな?と思います。
チーム開発をする場合は、コマンドラインからのプラグインの実行を、ビルド時などどこかのタイミングに仕込んで自動化した方がいいのかな? と思います。
https://github.com/nicklockwood/SwiftFormat#trigger-plugin-from-command-line
SwiftFormat のルールに関する設定
SwiftFormat のルールをカスタマイズしたい場合、従来どおり .swiftformat
ファイルを作成します。
- 例
# format options
--allman true
--indent tab # tabs FTW!
# file options
--exclude Pods
# rules
--disable elseOnSameLine,semicolons
従来どおり、新しいバージョンのSwiftFormatのルールを適用させるため、Swift のバージョンを指定する .swift-version
ファイルを作成します。
- 例
5.6
.swiftformat
ファイルと.swift-version
ファイルの置き場所
-
.swiftformat
ファイル
The plugin will find an existing
.swiftformat
in your package root folder and honor it automatically.
(このプラグインは、あなたのパッケージのルートフォルダにある既存の.swiftformat
を見つけ、自動的にそれを尊重します。)
-
.swift-version
ファイル
The preferred option is to add a
.swift-version
file to your project directory. This is a text file that should contain the minimum Swift version supported by your project, and is a standard already used by other tools.
(望ましい選択肢は、プロジェクトのディレクトリに.swift-version
ファイルを追加することです。これは、あなたのプロジェクトがサポートする最小のSwiftバージョンを含むべきテキストファイルで、すでに他のツールで使用されている標準的なものです。)
- ルートディレクトリの状態
最後に
以上、 SwiftFormat
のプラグインの導入方法の説明でした。
ご覧いただきありがとうございます。
参考リンク