一隻快速生成程式碼的Xcode外掛FastStub
阿新 • • 發佈:2019-02-07
外掛github地址,這款外掛的靈感來源於Android Studio,在AS當中按 cmd+N 可以撥出generate code選單,快速生成一系列模板程式碼。比如自動解析出super class當中還沒有被override的方法,比如自動生成Constructor,並選擇要傳入的引數等。
外掛原型
在Android Studio中可以這樣過載父類的方法。
支援多選,按回車一鍵插入多個方法的實現。
Xcode版外掛FastStub
自動插入方法實現
FastStub實現了類似的功能,能自動解析出某個類 標頭檔案,父類,所有protocol裡面還沒有被實現的方法,生成完整的列表,並提供類似Android Studio的操作,一鍵插入多個方法的實現程式碼。類似這樣:
這樣可以避免在標頭檔案寫好方法宣告之後,再去.m檔案將方法的實現敲一遍。
支援原生protocol
對於經常寫UITableView delegate,datasource回撥方法的同學應該有這樣的經歷,需要經常切換到UITableViewDelegate的protocol宣告檔案中去檢視某個實現的方法,FastStub可以留著當前檔案快速的檢視,並插入相關程式碼。類似這樣:
最快速的單例實現方式
FastStub能自動解析出當前類名,並在.h .m檔案中插入相關的單例程式碼,類似這樣:
後續工作
現在是採取regex來提取類名及相關的方法,雖然經過一段時間的使用,能正確支援絕大部分的場景,但無法保證絕對的準確性,後續可能會通過其他類似AST的方式來做語法分析。
現階段能生成singleton,interface extension的程式碼,後續可以支援更多,類似property的getter,setter,model的constructor等。