转载

一款快速生成代码的Xcode插件FastStub

一款快速生成代码的Xcode插件FastStub

这款插件的灵感来源于Android Studio,在AS当中按 cmd+N 可以呼出generate code菜单,快速生成一系列模板代码。比如自动解析出super class当中还没有被override的方法,比如自动生成Constructor,并选择要传入的参数等。

插件地址 https://github.com/music4kid/FastStub-Xcode

插件原型

在Android Studio中可以这样重载父类的方法。

一款快速生成代码的Xcode插件FastStub

支持多选,按回车一键插入多个方法的实现。

Xcode版插件FastStub

自动插入方法实现

FastStub实现了类似的功能,能自动解析出某个类 头文件,父类,所有protocol里面还没有被实现的方法,生成完整的列表,并提供类似Android Studio的操作,一键插入多个方法的实现代码。类似这样:

一款快速生成代码的Xcode插件FastStub

这样可以避免在头文件写好方法声明之后,再去.m文件将方法的实现敲一遍。

支持原生protocol

对于经常写UITableView delegate,datasource回调方法的同学应该有这样的经历,需要经常切换到UITableViewDelegate的protocol声明文件中去查看某个实现的方法,FastStub可以留着当前文件快速的查看,并插入相关代码。类似这样:

一款快速生成代码的Xcode插件FastStub

最快速的单例实现方式

FastStub能自动解析出当前类名,并在.h .m文件中插入相关的单例代码,类似这样:

一款快速生成代码的Xcode插件FastStub

类的拓展也很方便

对于经常写interface extension的同学,FastStub也可以帮你节省一些时间,一键生成:

一款快速生成代码的Xcode插件FastStub

后续工作

现在是采取regex来提取类名及相关的方法,虽然经过一段时间的使用,能正确支持绝大部分的场景,但无法保证绝对的准确性,后续可能会通过其他类似AST的方式来做语法分析。

现阶段能生成singleton,interface extension的代码,后续可以支持更多,类似property的getter,setter,model的constructor等。

原文  http://www.cocoachina.com/ios/20160615/16704.html
正文到此结束
Loading...