前言
Xcode8出來后,為了安全起見,xcode8增加了安全相關的檢查,更細點說它從根源上屏蔽了插件的工作,xcode插件在xcode8上統統不能執行。這里介紹了其中一種插件clang-format的安裝以及使用,clang-format可以減少花在規范代碼的時間,讓開發人員可以更加關注業務開發,同時讓代碼更加規范優雅。
操作步驟
- 先安裝Alcatraz
- 通過Package Manager安裝clang-format
前期準備工作
- 到githup上下載Alcatraz https://github.com/supermarin/Alcatraz
- 打開終端輸入
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
-
得到當前的UUID, 打開下載的Alcatraz project,在這個工程的info.plist設置里添加:F4DEB924-307A-40AC-B900-252C40B7F3D5.png
- run
-
重啟Xcode,若沒有出現下圖提示繼續下列Alcatraz安裝操作.9620CD42-F9E8-41BC-AB50-0CFAE056DF13.png
Alcatraz的安裝
Alcatraz 是一個幫你管理 Xcode 插件、模版以及顏色配置的工具。它可以直接集成到 Xcode 的圖形界面中,讓你感覺就像在使用 Xcode 自帶的功能一樣。首先打開你的xcode,檢查 Package Manager是否存在,若存在跳過以下步驟.
5E4C9A65-317D-4123-AABB-1C62B2930C73.png
1.打開終端,輸入
install update_xcode_plugins
2.如果出現下圖則是報錯: 則繼續輸入以下命令并執行,否則跳過此步。
005vw4eNzy7687CMNWJfd.png
sudo gem install -n /usr/local/bin update_xcode_plugins
3.會提示輸入密碼
F9CE3E7B-3B57-4463-B206-E8E6F6504A42.png
4.會出現下邊安裝成功提示
C016BA35-73E1-4ABE-887E-A9E9D58AC021.png
5.繼續輸入update_xcode_plugins
update_xcode_plugins
6.會出現下邊的情況,這就代表快成功了,會出現下邊圖片的箭頭的提示語,把這句話復制下來,繼續輸入.
7CD88FE3-A712-4FDD-8214-967A36B3E5B0.png
7.按回車鍵,會出現下圖的提示,輸入Y,出現Finished!那么,恭喜你安裝成功了.
A863615B-0FA6-49F6-87AB-CCB8ED14F1EF.png
此刻完全退出xcode(看清楚了哦,是完全退出),重啟xcode,然后點擊Window選項卡(xcode最上邊),這個時候你就會發現有 Package Manager 的存在(參照第一張圖).
Package Manager的使用
-
點擊Package Manager,在search搜你想使用的第三方插件,如ACC,就會出現下邊的提示,點擊 左邊按鍵 INSTALL即是安裝.
30DD06B0-A5F6-4356-9915-2C94706E7202.png
-
安裝好你想要的插件之后,徹底退出Xcode,在終端輸入
update_xcode_plugins
61D271BF-AA0B-48FC-A55C-747B67ADEF27.png
-
這時它會自動幫我們配置并安裝這些插件,我們再打開Xcode會看到提示選擇 load bundle.
9620CD42-F9E8-41BC-AB50-0CFAE056DF13.png
clang-format 的使用
按照上邊的步驟就可實現clang-format的安裝,這個時候你可以點擊Edit,就會發現最下邊有個clang-format,那么恭喜你,安裝成功了,那么接下來談談如何使用吧.
45A50608-8C4A-4147-B2A7-D4F339BBE7EC.png
-
然后將.clang-format文件放到項目文件夾里面(和.xcodeproj同級目錄)
- 雖然CLangFormat本身就內置了一些標準化的代碼格式化方案,但是同樣可以自定義,我們就采用了自定義的方法. 具體的,在工程目錄或者workspace目錄下創建一個" .clang-format"文件 ,clang-format 只是一個配置文件,可以復制到任何地方。你可以把它復制到你的項目的根目錄,也可以把它復制到你所有項目的根目錄。
613EB94C-4CD6-426B-A1B0-D5CCFECB4884.png
-
配置參數:
# 基礎樣式
BasedOnStyle: LLVM
# 縮進寬度
IndentWidth: 4
# 圓括號的換行方式
BreakBeforeBraces: Attach
# 支持一行的if
AllowShortIfStatementsOnASingleLine: true
# switch的case縮進
IndentCaseLabels: true
# 針對OC的block的縮進寬度
ObjCBlockIndentWidth: 4
# 針對OC,屬性名后加空格
ObjCSpaceAfterProperty: true
# 每行字符的長度
ColumnLimit: 0
# 注釋對齊
AlignTrailingComments: true
# 括號后加空格
SpaceAfterCStyleCast: true
# 不在小括號里加空格
SpacesInParentheses: false
# 不在中括號里加空格
SpacesInSquareBrackets: false
-
關于使用的情況,找了很多資料,發現都是如此雷同,觀賞性以及操控性微之甚微,在這里找到了一篇文章,感覺作者對于插件這塊解讀的非常詳細,也是比較膜拜的,當然都是借助一位大神唐巧的解讀.
- 關于clang-format詳細使用
- CLangFormat的所有可用參數文檔
- 其他插件的介紹