趁著休假期間,
重拾許久沒開啟的 xcode ,
看著過往格式有點亂亂的程式碼,
忍不住不順眼了起來。
這一陣子使用 Eclipse 與 Android Studio 都有透過 code formatter 的 plug-in 來達成程式碼格式的一致性,
所以稍微研究了一下 xcode 是否同樣有提供工具來幫忙。
結論是在 xcode 7.x 中沒有原生的內建 code formatter 功能!
幸好,
還有幾個解決方案!
以下是我的做法:
1. 透過 brew 安裝 clang-format
$ brew install clang-format
2. 開啟 Mac 的 Automator App ,選擇 "Run Shell Script” ,並輸入
export PATH=/usr/local/bin:$PATH
clang-format
將 "Output replaces selected text” 打勾,接著存檔。
3. 建立一個 .clang-format 在家目錄下。目前我的設定是
# We’ll use defaults from the LLVM style, but with 4 columns indentation.
BasedOnStyle: LLVM
IndentWidth: 4
ColumnLimit: 120
但也可以用以下指令,將 clang 預設的 format 整個 dump 出來。
clang-format -style=llvm -dump-config > .clang-format
4. 接著開啟 xcode,並選擇一段程式碼(我都是全選),按下右鍵,選 service 就可以看到 clang-format 的選項,點下去後,就可以看到這些被選取的程式碼依照我們的格式設定整齊排列好了!
5. 不過每次都要做點滑鼠右鍵,實在太麻煩了,所以 Mac 的 新增快速鍵可以幫助我們。點選 Mac 系統中的 System Preferences 並點選 Keyboard,我們可以透過 App Shortcuts 來新增快速鍵。
經過這一番設定後,
我的程式碼終於可以輕鬆整理格式,
不再那麼雜亂了!
附帶一題,
也有人撰寫 clang-format 的 xcode plug-in,
有興趣的人也可以直接安裝這個 plug-in : https://github.com/travisjeffery/ClangFormat-Xcode