Swift代碼自動格式化--SwiftFormat安裝與使用

一、為什么要使用SwiftFormat

我們在作為Git預提交代碼之前對其格式進行自動化,確保代碼規范,有助于提高code review的效率,對比了幾款針對Swift代碼的自動格式化,發現SwiftFormat超越了您對代碼格式化程序的期望。除了調整空格之外,它還可以插入或刪除implicit self,刪除多余的括號,并糾正許多其他與標準Swift習慣用法的偏差。


二、如何安裝SwiftFormat

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

brew install swiftformat
安裝 SwiftFormatXcode插件:
  • 打開終端輸入brew install --cask swiftformat-for-xcode,如【終端.jpg】圖標1處,出現2表示安裝成功;
  • 然后執行open "/Applications/SwiftFormat For Xcode.app" ,如3
    終端.jpg

打開 SwiftFormat For Xcode.app 后,會自動安裝到Xcode上,需要重啟Xcode才能生效。重新打開Xcode,在 XcodeEditor目錄下能看到 SwiftFormat 菜單就說明插件安裝成功了。

image.png

注意:你可以會遇到打開Xcode沒看到SwiftFormat
  • 這個時候注意一下SwiftFormat -> about中的提示:How do I install it?
    image.jpg
  • 打開系統偏好設置,點開擴展勾選上Xcode Source Editor,再重啟Xcode就可以看到了。
    image.jpg

操作到這里,我們的代碼就可以用SwiftFormat -> Formar File菜單來對其進行格式化了。但是每次手動并不是我們想要的最終方案,我們希望操作可以再簡化點:保存代碼的同時就自動對代碼進行格式化~~~


三、使用 Automator 添加自動化腳本

Automator是一款系統軟件,中文名是自動操作。文件路徑:啟動臺 -> 其他,你也可以全局搜索??來找到。

image.png

1、打開Automator,選擇快速操作(Quick Action):

image.png

2、在搜索欄搜索Script,雙擊 選擇 運行 AppleScript
image.png

3、用下面的腳本代碼替換上圖中的腳本:

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

該腳本將執行以下操作:

  • 檢查XcodeEditor菜單下是否存在SwiftFormat -> Format File菜單項;
  • 如果存在,則自動觸發 Format File菜單點擊,來格式化代碼;
  • 最后,自動點擊 Save 菜單,保存文件修改。

4、點擊Build按鈕,里面的代碼會自動高亮:

image.png

5、接著修改 【工作流程收到】 這一項配置為【 沒有輸入】,【位于】改成 Xcode.app。
image.png

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

image.png

四、添加鍵盤快捷鍵

我們最終的目標是要在保存文件(? + S)的時候,自動進行代碼格式化。

打開 系統偏好設置 -> 鍵盤 -> 快捷鍵,選擇 左側 App快捷鍵 這一項,添加一個新的快捷鍵,應用程序選擇 Xcdoe,菜單標題和剛才保存的自動操作名稱一樣:XcodeFormatAndSave,鍵盤快捷鍵設置成 ? + S,然后點擊 添加 按鈕。

image.png

最后,我們還需要為它配置運行權限,不然會報錯。

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

image.png

到這里,我們在Xcode中保存(? + SSwift文件的時候,就會自動觸發代碼格式化了,非常nice ~~~


參考 Xcode Format and Save using SwiftFormat and Automator

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容