這個(gè)工具的地址 https://github.com/square/spacecommander
使用方法:
1. 下載 spacecommander
這里可以cd 到自己指定的文件夾,使用git命令下載;
git clone https://github.com/square/spacecommander.git
也可以直接下載壓縮包,然后解壓.
2. 安裝 spacecommander 到需要格式化代碼的項(xiàng)目中
cd到項(xiàng)目根目錄混滔,執(zhí)行setup-repo.sh腳本(注意腳本需要全路徑),執(zhí)行完后會(huì)在項(xiàng)目根目錄多一個(gè)隱藏文件.clang-format ,這是一個(gè)替身文件
執(zhí)行setup-repo.sh腳本
執(zhí)行完腳本后,項(xiàng)目個(gè)目錄會(huì)多出隱藏文件
3.修改代碼格式規(guī)則
打開(kāi).clang-format替身浪藻,指向Space Commander倉(cāng)庫(kù)中的.clang-format原本文件巷懈,修改里面默認(rèn)系列代碼規(guī)則,改成自己所需要的規(guī)則
iOS 的可以參考這個(gè) http://clang.llvm.org/docs/ClangFormatStyleOptions.html
例如:我的iOS項(xiàng)目修改了幾條的設(shè)置
# 基于LLVM格式
BasedOnStyle: LLVM
# 大括號(hào)之前間斷方式
BreakBeforeBraces: Attach
# 聲明OC屬性后有兩行空行
ObjCSpaceAfterProperty: true
4.以上配置已經(jīng)完成,現(xiàn)在開(kāi)始使用
這里我故意把代碼格式改的很亂,來(lái)測(cè)試一下效果
格式很亂的代碼
當(dāng)執(zhí)行g(shù)it commit 命令后,終端會(huì)提示有格式問(wèn)題
image.png
根據(jù)提示,執(zhí)行 >"/Users/YannChee_workMac/spacecommander"/format-objc-files.sh -s ,即可格式化代碼,再次commit 時(shí)就不會(huì)提示代碼有格式問(wèn)題了
順便總結(jié)一下,這幾個(gè)腳本的作用:
setup-repo.sh 初始化
format-objc-file.sh 格式化單個(gè)暫存文件
format-objc-files.sh 格式化所有暫存文件
format-objc-files-in-repo.sh 格式化整個(gè)倉(cāng)庫(kù)
格式后的代碼
使用過(guò)程中遇到的問(wèn)題:
有時(shí)候代碼命名已經(jīng)格式化成功,但是git commit 終端還是提示 代碼格式有問(wèn)題,這可能是這個(gè)工具的bug,需要在git commit 后面加上 --no-verify修飾下,例如
git commit -m "test" --no-verify
或 git commit --no-verify -m "test"