付費限定

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

更新 發佈閱讀 4 分鐘

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

針對 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 指令,注意不需要 -

創作者正在準備中
請加入 13+ 了解最新動態!
留言
avatar-img
留言分享你的想法!
avatar-img
13+
2.3K會員
142內容數
13 以 10+ 年 iOS 開發經驗為基礎撰寫,助你在 AI 時代成為更有自信的技術工作者。 ❤️ 支持 13 創作! 🤖 AI 工具實戰經驗與深度思考 🧠 軟體開發思維、職涯發展建議 💡 實用技巧與踩坑經驗分享 😔 開發者身心健康與職業傷害
13+的其他內容
2025/10/15
付了錢的功能可以不用,但要知道自己的權益。搞不好就有你不知道、卻用得上的冷門功能。
Thumbnail
2025/10/15
付了錢的功能可以不用,但要知道自己的權益。搞不好就有你不知道、卻用得上的冷門功能。
Thumbnail
2025/10/06
Apple 裝置的 UDID 並非隨機,跟 SoC 有直接關係。知道規則,能幫助判斷設備年代。
Thumbnail
2025/10/06
Apple 裝置的 UDID 並非隨機,跟 SoC 有直接關係。知道規則,能幫助判斷設備年代。
Thumbnail
2025/09/28
iOS 與 Xcode 的 Bug 常常藏在 Release Notes 裡。閱讀它能幫你避開 beta 版的坑,節省數小時的除錯時間,是個投資報酬率很高的好習慣。
Thumbnail
2025/09/28
iOS 與 Xcode 的 Bug 常常藏在 Release Notes 裡。閱讀它能幫你避開 beta 版的坑,節省數小時的除錯時間,是個投資報酬率很高的好習慣。
Thumbnail
看更多
你可能也想看
Thumbnail
十一月底正好要去斯里蘭卡,之前趁雙十一時就把旅行必備東西陸續買齊。 現在我依然在斯里蘭卡的旅行路上,邊當旅人邊推薦旅行好物給你們!(這篇記得收藏起來喔!)
Thumbnail
十一月底正好要去斯里蘭卡,之前趁雙十一時就把旅行必備東西陸續買齊。 現在我依然在斯里蘭卡的旅行路上,邊當旅人邊推薦旅行好物給你們!(這篇記得收藏起來喔!)
Thumbnail
本文介紹瞭如何在SwiftUI中調整元件的對齊方式,包括置中、向左/向右/向上/向下對齊的方法。透過調整HStack、VStack以及frame的maxWidth、maxHeight和alignment屬性,可以達到想要的對齊效果。
Thumbnail
本文介紹瞭如何在SwiftUI中調整元件的對齊方式,包括置中、向左/向右/向上/向下對齊的方法。透過調整HStack、VStack以及frame的maxWidth、maxHeight和alignment屬性,可以達到想要的對齊效果。
Thumbnail
此章節旨在解釋Swift語言中函數的基本結構和操作方式,包括函數的聲明、呼叫、參數和返回值。閱讀這個章節可以幫助你理解並掌握如何在Swift編程中有效地使用和管理函數。
Thumbnail
此章節旨在解釋Swift語言中函數的基本結構和操作方式,包括函數的聲明、呼叫、參數和返回值。閱讀這個章節可以幫助你理解並掌握如何在Swift編程中有效地使用和管理函數。
Thumbnail
此章節旨在介紹Swift程式語言中的基本資料型別,包括整數、浮點數、布林型別、字串、字符、選擇型、型別轉換、自訂型別(包括類、結構和枚舉)、元組型別、集合型別、陣列型別和字典型別。每種型別的說明都包含了程式碼範例,以便讀者更好地理解其應用和使用方式。
Thumbnail
此章節旨在介紹Swift程式語言中的基本資料型別,包括整數、浮點數、布林型別、字串、字符、選擇型、型別轉換、自訂型別(包括類、結構和枚舉)、元組型別、集合型別、陣列型別和字典型別。每種型別的說明都包含了程式碼範例,以便讀者更好地理解其應用和使用方式。
Thumbnail
本章節介紹了如何建立並設置Swift項目以及如何選擇和設置Swift代碼編輯器。這包括在Xcode和命令行中建立Swift項目,選擇Xcode、Visual Studio Code或AppCode作為編輯器,以及如何使用SPM安裝插件。
Thumbnail
本章節介紹了如何建立並設置Swift項目以及如何選擇和設置Swift代碼編輯器。這包括在Xcode和命令行中建立Swift項目,選擇Xcode、Visual Studio Code或AppCode作為編輯器,以及如何使用SPM安裝插件。
Thumbnail
本章節旨在為讀者提供Swift程式語言的基礎知識,包括其基本語法、註解方法和變數使用方式,並通過具體的程式碼示例來說明這些概念。這將幫助讀者理解Swift的基本結構,並學會如何在Swift中定義變數並使用註解。
Thumbnail
本章節旨在為讀者提供Swift程式語言的基礎知識,包括其基本語法、註解方法和變數使用方式,並通過具體的程式碼示例來說明這些概念。這將幫助讀者理解Swift的基本結構,並學會如何在Swift中定義變數並使用註解。
Thumbnail
這份文件的目的是介紹Swift語言,包括它的特性、應用範疇,以及誰在使用它。它也提供了一些學習Swift的資源和工具,以及一些常見的Swift庫和框架。
Thumbnail
這份文件的目的是介紹Swift語言,包括它的特性、應用範疇,以及誰在使用它。它也提供了一些學習Swift的資源和工具,以及一些常見的Swift庫和框架。
Thumbnail
需求情境: 在設計畫面時,資料來源是後台的 api,每一次畫面細節的修修改改,都會觸發 Xcode Preview 程序,導致不斷呼叫後台。此時若資料結構和大小都具有一定規模,就會導致效率低落,不斷等待,且消耗伺服器資源甚鉅。 解決方案: 將後台傳回的資料以檔案形式暫存在本地端,每次 pr
Thumbnail
需求情境: 在設計畫面時,資料來源是後台的 api,每一次畫面細節的修修改改,都會觸發 Xcode Preview 程序,導致不斷呼叫後台。此時若資料結構和大小都具有一定規模,就會導致效率低落,不斷等待,且消耗伺服器資源甚鉅。 解決方案: 將後台傳回的資料以檔案形式暫存在本地端,每次 pr
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News