这款插件的灵感来源于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文件将方法的实现敲一遍。
对于经常写UITableView delegate,datasource回调方法的同学应该有这样的经历,需要经常切换到UITableViewDelegate的protocol声明文件中去查看某个实现的方法,FastStub可以留着当前文件快速的查看,并插入相关代码。类似这样:
FastStub能自动解析出当前类名,并在.h .m文件中插入相关的单例代码,类似这样:
对于经常写interface extension的同学,FastStub也可以帮你节省一些时间,一键生成:
后续工作
现在是采取regex来提取类名及相关的方法,虽然经过一段时间的使用,能正确支持绝大部分的场景,但无法保证绝对的准确性,后续可能会通过其他类似AST的方式来做语法分析。
现阶段能生成singleton,interface extension的代码,后续可以支持更多,类似property的getter,setter,model的constructor等。