1. 程式人生 > >一隻快速生成程式碼的Xcode外掛FastStub

一隻快速生成程式碼的Xcode外掛FastStub

外掛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等。