作爲碼農來講,IDE絕對就是你的紙和筆,掌握IDE的使用技巧可以大幅度的提升編碼效率,擺脫枯燥繁瑣的重複勞作。
最近爲了適配iOS 13頻繁更換設備升級系統,來回折騰了好幾遍開發環境,包括導入code snippets,今天就寫一寫這個新手老手都應該用起來的技巧(其實就是懶,寫到這當筆記)。
老規矩,看啥都不如看官方文檔,蘋果爸爸爲了Apple開發者愉悅的開發可是煞費苦心,文檔事無鉅細。
Xcode官方首頁
https://developer.apple.com/xcode/
這裏有所有關於Xcode的資料入口,每當新版本Xcode推出新版本,建議大家都可以來逛逛,學習一番IDE的新特性(槽點)
Xcode help
https://help.apple.com/xcode/mac/current/
Xcode幫助文檔,你每天都用的IDE所有小祕密都在這裏了,你足夠了解它嗎?
code snippets 的使用
https://help.apple.com/xcode/mac/current/#/dev2b24f6f93
如果鏈接失效 可以在幫助文檔首頁搜索
啥是 code snippets ?
其實就是創建一個輸入提示,通過關鍵字IDE會給出建議的代碼列表,用戶選擇之後就可以快速插入大段代碼。
在Xcode 10 中的位置和使用效果如下
在xcode 11中,代碼塊的位置有所變化,UI組件、圖片資源、色值、代碼塊等等聚合在了一個窗口中,如圖
創建代碼塊
選中代碼,右鍵快捷菜單,選擇 create code snippets
進到編輯頁面
在編輯框裏填名稱關鍵字等
Title: 輸入代碼段庫中顯示的代碼段的名稱。
Summary: 輸入代碼段庫中顯示的代碼段的說明。
Platform: 從彈出菜單中選擇片段的平臺。
Language: 從彈出菜單中選擇編程或腳本語言。
Completion Shortcut: 輸入可在源編輯器中使用的代碼段的關鍵字。
Completion Scope: 選擇代碼段的使用範圍。
All: 可以插入任何地方。
String or Comment:可以插入允許字符串或註釋的位置。
Top Level: 即將到來
我們創建了一個字符串屬性,鍵入關鍵字 c3
就會出現該代碼塊,按 retun
鍵即可輸入整個屬性的代碼
佔位符
佔位符可以方便我們快速的選中參數位置,編輯自定義的名稱。
使用格式<#[TOKEN NAME]#>插入字符串,在代碼段中包含標記(例如方法的參數值的佔位符)。 例如,字符串<#value#>會將標記爲value的標記添加到代碼段。
值得一提的是,當你輸入完成<##>,符號會自自動消失。
上面字符串屬性的代碼塊寫法就是
@property (nonatomic,strong)NSString *<#test#>;
代碼塊的保存和導入
目前Xcode並沒有提供導出或者導入的功能,自定義代碼塊的數據只是在Xcode目錄下保存,具體爲
~/Library/Developer/Xcode/UserData/CodeSnippets
保存的話就是將該目錄的文件拷貝保存,導入也是將文件拷貝到該目錄。
如果在重裝Xcode或者是恢復系統的時候沒有保存文件,那麼你的熟悉代碼塊就離你而去了。
可以優化的方式是,通過雲盤或者git雲端保存文件,實時更新或者定時備份。
常用的代碼塊
這裏分享一下 TODO等標記,和 #pragma mark
一樣在導航欄中有明顯的分隔效果,可以通過搜索、導航快速的找到標記位置,在日常工作中標記未完成的任務或者待解決的bug位置十分好用。
其他的代碼塊會陸續更新,讀者們如果有覺得很方便的定義也歡迎評論在下方,希望大家代碼寫的越來越6,少一點枯燥,多一點樂趣。
標記
#pragma mark - <#mark#> //TODO: <#text#> //MARK: <#text#> //FIX: <#text#>
屬性
@property (nonatomic, strong) <#Class#> *<#object#>; @property (nonatomic, weak) <#Class#> *<#object#>; @property (nonatomic, copy) NSString *<#string#>; @property (nonatomic, assign) <#Class#> <#property#>; @property (nonatomic, weak) id<<#protocol#>> <#delegate#>; @property (nonatomic, copy) <#returnType#>(^<#blockName#>)(<#arguments#>);
待續