一个好用的 Xcode 扩展:GHWXcodeExtension
Posted 知识小集
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个好用的 Xcode 扩展:GHWXcodeExtension相关的知识,希望对你有一定的参考价值。
作者 | 黑化肥发灰
来源 | Github:https://github.com/guohongwei719
在 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、其他。
实现的功能(注:均可配置快捷键,实现一键操作)
1) 初始化自定义view、UICollectionViewCell、UITableViewCell、viewController,自动删除无用代码和添加默认代码;
2) 为属性自动添加懒加载代码、对应协议声明和协议方法,主要有 UITableView\UICollectionView\UIScrollView\UIButton\UILabel\UIImageView;
注意:需要添加懒加载代码的属性需要被光标选中
3) 选中一个类,文件顶部自动添加对应的 import
4) 给 import 分组排序去重,从上到下为 主类头文件、viewController、view、manager & logic、第三方库、model、category、其他。
注意:
• 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/guohongwei719/GHWXcodeExtension/releases/tag/v1.0.0 ,解压即可,然后跳到第三步,如下图
2) 将 clone 的项目编译成功,到 Products 下,选择 GHWXcodeExtension.app 右键,选择 Show in Finder
3) 将 GHWXcodeExtension 复制到应用程序下面,双击打开
4) 到 系统偏好设置 找到 扩展,选择 Xcode Source Editor,选中 GHWExtension
5) 打开项目以后,可以在 Xcode 菜单栏,选择 Editor, 可以看到 GHWExtension 出现在最下面
6) 选择 GHWExtension,出现可以使用的功能选项,顾名思义
7) 三个功能选项都可以配置快捷键,实现一键操作,推荐分别设置为 option+z\option+x\option+c,如下图
使用注意事项
使用 addLazyCode 功能的时候,如果添加了代码后想撤销,使用 command + z,这时候 Xcode 可能会 crash,这应该是 Xcode 本身的一个 bug,所以需要注意一下,正常情况下添加以后也不会撤销,如果要撤销手动删除也很方便,即使 crash 了再打开就行了,打开以后是删除状态。希望苹果能尽快修复这个 bug。
调试 GHWXcodeExtension
1) 选择 GHWExtension scheme
2) 运行,选择 xcode,点击 run
3) 选择一个项目
•
•
•
•
以上是关于一个好用的 Xcode 扩展:GHWXcodeExtension的主要内容,如果未能解决你的问题,请参考以下文章