📐善用 Xcode 內建的 swift-format 減少團隊溝通成本

Xcode 16 起已內建 swift-format。透過事先決定好的規則自動整理程式碼格式,協助團隊在 code review 時把重點放在程式邏輯,而不是耗費在修正格式上。

程式碼的格式是工程師最不該花時間手動調整的事情。比如說縮排要多少、某處多了空格、這邊該不該換行。應該指定好規則,交給電腦自動完成。

針對 Swift 專案,我以前愛用的是 Nick Lockwood 的 SwiftFormat,並且在 2020 年寫過一篇推坑文

後來,Apple 官方推出了 swift-format(名稱很像,只差個 -,別搞錯了)。一開始是作為一個外部工具,用指令呼叫。

Xcode 一直到 16.0 才開始內建 swift-format。能夠自動套用格式到當前檔案,快速鍵是 Ctrl + Shift + I

使用 swift format 指令

swift-format 還沒整合進 Xcode 以前,我們可以透過 homebrew 來安裝:

brew install swift-format

並且透過 swift-format 指令來使用。

例如,以下指令會把當前目錄與子目錄的所有 Swift 檔都套用格式:

swift-format . -i -r

提醒:第一次執行可能會產生大量的變更,最好先在乾淨的 git 狀態進行。

而在 Xcode 16 以後,我們可以用 swift format 指令,注意不需要 -