一. 前言
二. 功能演示(注:均可配置快捷键,实现一键操作)
三. 安装配置方法
四. 使用注意事项
五. 调试 GHWXcodeExtension
六. 后记
在 Xcode8 以前,开发者可以在 Xccode 运行时通过注入代码来实现插件的功能。插件可以在Alcatraz 上面提交和分发。不过 Xcode8 禁止了该方式的插件安装,转而向开发者提供了Xcode Source Editor Extension(以下简称 Extension)的方式来做插件。平时写代码过程中发现有很多代码都是重复的,属于无脑代码,而且团队协作中统一的代码格式规范非常重要,因此试图通过 Extension 解决这些问题,从而开发了这个工具。
实现的功能:
- 初始化自定义view、UICollectionViewCell、UITableViewCell、viewController,自动删除无用代码和添加默认代码;
- 为属性自动添加懒加载代码、对应协议声明和协议方法,主要有 UITableView\UICollectionView\UIScrollView\UIButton\UILabel\UIImageView;
- 选中一个类,文件顶部自动添加对应的 import;
- 给 import 分组排序去重,从上到下为 主类头文件、viewController、view、manager & logic、第三方库、model、category、其他。
2. 为属性自动添加懒加载代码、对应协议声明和协议方法,主要有 UITableView\UICollectionView\UIScrollView\UIButton\UILabel\UIImageView;
注意:需要添加懒加载代码的属性需要被光标选中
注意:
- 如果不选中对应的 import 则默认是所有 import 行,如果选中的话则只会对选中的 import 分组排序去重
- viewController 后缀小写必须为 "controller.h"、"vc.h";
- view 后缀小写必须为 "view.h"、"bar.h"、"cell.h";
- manager & logic 后缀小写必须为"manager.h"、"logic.h"、"helper.h"、"services.h"、"service.h"。
1. 将项目 clone 下来,如果不想 clone 项目,直接去 release 下面下载生成的 GHWXcodeExtension.zip,链接 https://github.com/ziecho/GHWXcodeExtension/releases,解压即可,然后跳到第三步,如下图
1. 使用 addLazyCode 功能的时候,如果添加了代码后想撤销,使用 command + z,这时候 Xcode 可能会 crash,这应该是 Xcode 本身的一个 bug,所以需要注意一下,正常情况下添加以后也不会撤销,如果要撤销手动删除也很方便,即使 crash 了再打开就行了,打开以后是删除状态。希望苹果能尽快修复这个 bug。
欢迎提 bug 和 feature。
微博:黑化肥发灰11
简书地址:https://www.jianshu.com/u/fb5591dbd1bf
掘金地址:https://juejin.im/user/595b50896fb9a06ba82d14d4