Swift程式碼自動格式化

語言: CN / TW / HK

1. 安裝SwiftFormat

什麼是SwiftFormat

SwiftFormat 是一款用來格式化Swift程式碼的命令列工具。

我們可以直接用 Homebrew 來安裝它,已經安裝的同學可以忽略這一步:

shell brew install swiftformat

然後安裝 swiftformat 的 Xcode 外掛:

shell brew install --cask swiftformat-for-xcode open "/Applications/SwiftFormat For Xcode.app"

開啟 SwiftFormat For Xcode.app 後,會自動安裝到Xcode上,需要重啟Xcode才能生效。重新開啟Xcode,在 Xcode的 Editor 目錄下能看到 SwiftFormat 選單就說明外掛安裝成功了。

Xcode SwiftFormat

這裡,我們可以手動選擇 Format File 選單來格式化當前檔案。 但是還是不夠方便,如果能做到像Flutter開發一樣,儲存檔案的時候,自動格式化程式碼就好了。

2. 使用 Automator 新增自動化指令碼

Automator是一款系統軟體,中文名是自動操作。

Automator App

開啟Automator,選擇快速操作(Quick Action):

Quick Action

然後在搜尋欄搜尋 Script雙擊 選擇 執行 AppleScript

Add AppleScript

然後用下面的指令碼程式碼替換上圖中的指令碼:

AppleScript on run {input, parameters} tell application "System Events" tell process "Xcode" set frontmost to true if menu item "Format File" of menu of menu item "SwiftFormat" of menu "Editor" of menu bar 1 exists then click menu item "Format File" of menu of menu item "SwiftFormat" of menu "Editor" of menu bar 1 end if click menu item "Save" of menu "File" of menu bar 1 end tell end tell return input end run

該指令碼將執行以下操作: 1. 檢查Xcode中Editor選單下是否存在“SwiftFormat”>“Format File”選單項。 2. 如果存在,則自動觸發 Format File選單點選,來格式化程式碼。 3. 最後,自動點選 Save 選單,儲存檔案修改。

點選Build按鈕,裡面的程式碼會自動高亮:

Replace AppleScript

然後,修改 工作流程收到 這一項配置為 沒有輸入,位於這裡改成 Xcode。

Workflow receives

最後 ⌘ + S 儲存,將該自動操作命名為 XcodeFormatAndSave,它會自動儲存在 ~/Library/Services/ 目錄下。重新開啟Xcode,我們將在 Xcode -> Services 選單下看到它,但是目前它還是不能工作的,還需要進一步配置。

Xcode Services

3. 新增鍵盤快捷鍵

我們最終的目標是要在儲存檔案(⌘ + S)的時候,自動進行程式碼格式化。

開啟 系統偏好設定 -> 鍵盤 -> 快捷鍵,選擇 左側 App快捷鍵 這一項,新增一個新的快捷鍵,應用程式選擇 Xcdoe,選單標題和剛才儲存的自動操作名稱一樣:XcodeFormatAndSave,鍵盤快捷鍵設定成 ⌘ + S,然後點選 新增 按鈕。

Add Keyboard shortcuts

最後,我們還需要為它配置執行許可權,不然會報錯。

開啟 系統偏好設定 -> 安全性與隱私 -> 隱私,在左側列表中選擇 輔助功能,授予 Xcode 控制權限。

Accessibility

這樣,在Xcode中儲存(⌘ + S)Swift檔案的時候,就會自動觸發程式碼格式化了,非常的舒適~。

參考連結