iOS 代碼格式化管理

來源:互聯網
上載者:User

標籤:ios   格式化   

雖然在項目建立和團隊組建的初期,我們就把公用約定以及一些規範定下來了,並且由於我們的代碼是通過Git來做版本控制的,web上直接就支援Markdown格式的readme檔案,可以隨時看到最新的版本,但是這種規範只能依靠個人的意識,或者通過代碼Review來解決,而且做代碼Review的時候,你也不好意思總是寫上一堆諸如“這裡要加個空格”、“那裡要加上換行”的評論吧?如果不管,久而久之,會因為每個人的習慣不同,代碼呈現出多種風格,看起來也不像一個成熟團隊做出來的產品。

為了彌補Xcode代碼格式化的短板,我們選擇了引入一個第三方的外掛程式:CLangFormat


具體流程:

1. 先安裝Package Manager(也可以跳過,看第2步)

官網地址:https://github.com/supermarin/Alcatraz

安裝方法:在終端輸入:curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

安裝成功後在Xcode的Window裡能看到“Package Manager”



2. 安裝CLangFormat

GitHub地址:https://github.com/travisjeffery/ClangFormat-Xcode

安裝方法:直接在Package Manager裡搜尋並安裝,如果不想安裝Package Manager的話,就直接把上面那個GitHub中的代碼Clone下來,在Xcode中編譯、運行,然後重啟Xcode即可。



3.  配置CLangFormat

雖然CLangFormat本身就內建了一些標準化的代碼格式化方案,但是同樣可以自訂,我們就採用了自訂的方法。

具體的,在工程目錄或者workspace目錄下建立一個".clang-format"檔案,添加類似於以下內容的參數:

# 基礎樣式BasedOnStyle: LLVM# 縮排寬度IndentWidth: 4# 圓括弧的換行方式BreakBeforeBraces: Attach# 支援一行的ifAllowShortIfStatementsOnASingleLine: true# switch的case縮排IndentCaseLabels: true# 針對OC的block的縮排寬度ObjCBlockIndentWidth: 4# 針對OC,屬性名稱後加空格ObjCSpaceAfterProperty: true# 每行字元的長度ColumnLimit: 0# 注釋對齊AlignTrailingComments: true# 括弧後加空格SpaceAfterCStyleCast: true

然後在Xcode的“Edit”->“CLang Format”中選中“File”,並讓倒數第二行顯示“Disable Format On Save”(後面這個看實際情況,需不需要在檔案隨時儲存的時候格式化)。



附上CLangFormat的所有可用參數文檔:http://clang.llvm.org/docs/ClangFormatStyleOptions.html

iOS 代碼格式化管理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.