如何更好的格式化Objective-C代码
為啥是更好的
在一個大型的軟件項目中,你不能保證所有的代碼都是由你一個人編寫,即使都是自己編寫,你也很難保證所寫的每一行代碼都格式統一。所以這里往往需要一個可以自動格式化代碼的工具,以便讓你自己的或者其他人寫的代碼看起來排版整潔,賞心悅目。
xcode是開發Apple生態環境下各種軟件的必備工具,但是這個工具的輔助功能相對與Eclipse之類的IDE來說,還是比較少。我甚至更進一步認為這玩意是Apple雇的幾個大學實習生做出來的玩意,經常失去響應啊,變成一個僵死進程。對于格式化代碼這個現在要說的功能,寫java用過Eclipse的人都知道可以導入代碼格式文件來實現可以定制的代碼排版功能。而在xcode里,只有通過Re-Indent這一個調整縮進的功能,顯然不夠用。
Uncrustify
什么是Uncrustify呢?用官方主頁上的一句話來定義就是:
a highly configurable,easily modifiable source code beautifier.翻譯過來大概意思就是一個高度可定制可修改的代碼美化器。按照這個工具的方法有很多種,這里推薦使用Homebrew,熟悉Apple歷史的人都知道,最早的Apple I就是在家釀電腦俱樂部誕生的,HomeBrew當時就是家醸電腦俱樂部的意思。安裝方式在官方主頁的最下面,運行一條ruby指令:
ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)安裝好Homebrew后,用這條命令按照Uncrustify
brew install uncrustify詳細的Automate配置步驟可以參考這篇文章,如果不想自己配置可以下載已經配置好的workflow,復制到~/Library/Services/,并解壓就可以了,如果你的電腦里面沒有這個文件夾,可以自己通過mkdir指令來新建這個文件夾:
mkdir ~/Library/Services mv Uncrustify-Objective-C.workflow.tar.gz ~/Library/Services/ cd ~/Library/Services/ tar zxvf Uncrustify-Objective-C.workflow.tar.gz下載針對Objective-C語言的配置文件,移動道~/目錄下,并更名為.uncrustify_obj_c.cfg,注意目標文件名前面有個.,正常情況下你通過finder是看不到這個文件夾的,可以通過如下指令來顯示:
defaults write com.apple.finder AppleShowAllFiles TRUE killall Finder集成xcode
如果上面已經完成,在xcode里面選擇一段代碼,右鍵選擇Services里面應該可以看到Uncrustify Objective-C選項了。選擇后,就可以格式化所選的代碼。如果你覺得不煩煩的話,每次都可以選中后進行以上操作,但是必然有不那么蛋疼的方式。
點屏幕左上角的蘋果圖標,選 System Preferences – Keyboard – Keyboard Shortcuts – Services,在Text分區里,找到剛添加的服務Uncrustify Objective-C,給這個服務加上快捷鍵。注意不要和Xcode里其它快捷鍵沖突,推薦設置為:control+shift+f貌似是Eclipse格式化的快捷鍵,好吧我又穿越了。
one more thing
大家如果有興趣可以去研究下那個cfg文件的配置,里面決定了代碼排版的行為,詳細到函數簽名和小括號之間是否應該空格都可以自由選擇。配置變量名里面含有oc的是針對objectiec-c語言的特別情況,其他應該是所有語言通用的。
轉載于:https://www.cnblogs.com/lostplesed/archive/2012/08/23/2653351.html
總結
以上是生活随笔為你收集整理的如何更好的格式化Objective-C代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NYOJ 469 擅长排列的小明 II
- 下一篇: WCF RIA Service实体类中发