這款插件的靈感來源於Android Studio,在AS當中按 cmd+N 可以呼出generate code菜單,快速生成一系列模板代碼。比如自動解析出super class當中還沒有被override的方法,比如自動生成Constructor,並選擇要傳入的參數等。
插件地址:https://github.com/music4kid/FastStub-Xcode
插件原型
在Android Studio中可以這樣重載父類的方法。
支持多選,按回車一鍵插入多個方法的實現。
Xcode版插件FastStub
自動插入方法實現
FastStub實現了類似的功能,能自動解析出某個類 頭文件,父類,所有protocol裡面還沒有被實現的方法,生成完整的列表,並提供類似Android Studio的操作,一鍵插入多個方法的實現代碼。類似這樣:
這樣可以避免在頭文件寫好方法聲明之後,再去.m文件將方法的實現敲一遍。
支持原生protocol
對於經常寫UITableView delegate,datasource回調方法的同學應該有這樣的經歷,需要經常切換到UITableViewDelegate的protocol聲明文件中去查看某個實現的方法,FastStub可以留著當前文件快速的查看,並插入相關代碼。類似這樣:
最快速的單例實現方式
FastStub能自動解析出當前類名,並在.h .m文件中插入相關的單例代碼,類似這樣:
類的拓展也很方便
對於經常寫interface extension的同學,FastStub也可以幫你節省一些時間,一鍵生成:
後續工作
現在是采取regex來提取類名及相關的方法,雖然經過一段時間的使用,能正確支持絕大部分的場景,但無法保證絕對的准確性,後續可能會通過其他類似AST的方式來做語法分析。
現階段能生成singleton,interface extension的代碼,後續可以支持更多,類似property的getter,setter,model的constructor等。