工欲善其事,必先利其器。要想提高開發效率,使用一些常用的插件是必不可少的。下面就給大家介紹一下我在Xcode中常用的一些插件。
1.Alcatraz 一個管理插件的插件
(1)安裝
在線安裝,打開你的終端輸入以下命令。
本地安裝,通過上面的下載地址將資源下載到本地通過xcode進行編譯運行之後選擇load bundle.
注意:
- 安裝完成之後需要重新啓動xcode
- Alcatraz需要使用Xcode的Command Line Tools,如果Xcode沒有安裝,請到
Preferences > Downloads
.下載安裝 - Alcatraz只支持Xcode7.0+版本
安裝成功之後從window-package Manager中可以查看,到此我們就可以安裝自己想要的插件了
不管你是用直接download zip的方法安裝插件的還是用Alcatraz安裝的插件如果插件本身沒有最新xcode的支持,那在你的Xcode更新一個版本後,Xcode插件就會失效了。 這個問題就是沒有把最新版本xcode的DVTPlugInCompatibilityUUID配到插件的支持列表中。
先獲取,終端中輸入
1
|
defaults
read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
|
然後按照如下目錄~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins
找到插件列表,選中對應的插件顯示包內容,並打開info.plist文件 在這個數組中添加最新的UUID即可
也有更犀利的做法就是:
1
|
find
~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add UUID
|
2.FKConsole
(1)簡介
FKConsole是一個用於在Xcode控制檯顯示中文的插件。
![]()
很多情況下,在程序中打印中文的時候:
NSLog(@"%@", (@[@"測試", @"好的"]).description);
在控制檯的輸出往往是:
(
"\U6d4b\U8bd5",
"\U597d\U7684"
)
這不是我們想要的結果。
FKConsole就是爲此而生的。FKConsole並不會影響你的程序,FKConsole只會對Xcode控制檯內的文字進行處理,所以請放心使用。
開啓FKConsole之後,控制檯的輸出會變成這樣:
(2)安裝
注意:
- Xcode8-beta 版本上不支持現有類型的插件安裝,Xcode8-beta 上的
Xcode Source Editor Extension
無法實現本插件現有功能。
通過Alcatraz安裝,
直接點擊INSTALL安裝即可,但是速度比較慢,取決於網速
直接本地安裝,通過上面的下載地址下載到本地,編譯-load bundle
安裝成功之後,就可以正常使用了。
3.AMMethod2Implement
(1)簡介
可以自動的將.h或者.m .mm裏邊需要寫入的方法自動填充進來。可以選擇要導入的方法,然後按 Ctrl+A 或者 Edit > AMMethod2Implement > Implement Method.就會自動填充方法.也可以自行設置快捷鍵。
- 實現方法,試驗證明屬性不可以自動生成getter和setter方法 (選中的聲明方法需要command+c複製,然後ctrl+a實現)
![]()
(2)安裝 同上
4.VVDocumenter
安裝方法都同上,這裏不再贅述。
這個應該大家都很熟悉了,就是一個寫註釋的插件。使用///
簡單的三個斜槓就會把對應的參數和返回值類型等都會自動加上![]()
5.XAlign
格式對其的一款插件。
- 對齊不需要一次全部對齊,可以分組多對幾次,那些等號差的太遠的就別讓它參與對齊了。
- 默認對齊的風格不是你喜歡的,可以自定義,或者提個 Issues。
快捷鍵:command+shift+x
![]()
6.Auto-Importer
快速導入頭文件,真的真的是個好東西。每次導入頭文件都要把當前編輯的窗口移動到文件最上方,然後在#import
xx.h
。而這個插件就是解決這個繁瑣的操作。讓你光標在任何地方,然後使用快捷鍵直接導入頭文件即可。
快捷鍵:command+ctrl+h
如果沒有選中要導入的類名,使用快捷鍵會彈出導入頭文件界面。
如果選中了要導入的類名,使用快捷鍵會直接導入頭文件。
7.HighlightSelectedString
高亮顯示所有與選中 字符串 相同的 字符串。 默認你選中一個變量,Xcode並沒有與之相關的高亮效果,而是在變量下加條很細的虛線。使用這個插件可以達到高亮效果,高亮顏色也可自定義
![]()
8.ZLGotoSandbox
快速訪問沙盒的一款插件。
![]()
9.KSImageNamed
可視化image的一款插件。
10.cocoapods-xcode-plugin pod相關的操作可以在xcode菜單進行
一般App在pod穩定了之後應該會很少修改,但是這個庫提供的功能也是極好的,可以實現pod install,新建/修改 podfile,新建/修改 podspec文件。用習慣了終端iterm的人可能不太適應,習慣用source tree的人可能會覺得這個插件很爽~
11.SCXcodeSwitchExpander switch枚舉的時候會自動生成代碼
12.GitDiff 簡單直觀的標記本次commit修改的部位
個人感覺這個插件不如tower或者cornerstone等軟件直觀。查看修改的代碼部分直接查看即可。
13. 這不是一個插件,是一個小技巧
在Xcode斷點調試的時候, 在控制檯輸入 po
self.view.frame
或者 po
id
類型的時候控制檯經常給我們罷工,如下
error: property 'frame' not found on object of type 'UIView *'
error: 1 errors parsing expression
打開終端輸入三條命令:
bogon:~ bang$ touch ~/.lldbinit
bogon:~ bang$ echo display @import UIKit >> ~/.lldbinit
bogon:~ bang$ echo target stop-hook add -o \"target stop-hook disable\" >> ~/.lldbinit
重新運行項目(不用重啓Xcode也可以), 嘻嘻, 看如下
(lldb) po self.view.frame
(origin = (x = 0, y = 64), size = (width = 375, height = 603))
如何刪除?
執行刪除命令即可
bogon:~ bang$ rm ~/.lldbinit