GithubHelp home page GithubHelp logo

findyam / ghwxcodeextension Goto Github PK

View Code? Open in Web Editor NEW

This project forked from guohongwei719/ghwxcodeextension

0.0 0.0 0.0 14.68 MB

Xcode Source Editor Extension 插件,实现功能有四个,一.初始化自定义view、UICollectionViewCell、UITableViewCell、viewController,自动删除无用代码和添加默认代码;二. 为属性自动添加懒加载代码、对应协议声明和协议方法,主要有 UITableView\UICollectionView\UIScrollView\UIButton\UILabel\UIImageView; 三.选中一个类,文件顶部自动添加对应的 import; 四. 给 import 分组排序,从上到下为 主类头文件、viewController、view、manager & logic、第三方库、model、category、其他。

Objective-C 100.00%

ghwxcodeextension's Introduction

一个好用的 Xcode 扩展:GHWXcodeExtension

目录

一. 前言
二. 功能演示(注:均可配置快捷键,实现一键操作)
三. 安装配置方法
四. 使用注意事项
五. 调试 GHWXcodeExtension
六. 后记

一. 前言

在 Xcode8 以前,开发者可以在 Xccode 运行时通过注入代码来实现插件的功能。插件可以在Alcatraz 上面提交和分发。不过 Xcode8 禁止了该方式的插件安装,转而向开发者提供了Xcode Source Editor Extension(以下简称 Extension)的方式来做插件。平时写代码过程中发现有很多代码都是重复的,属于无脑代码,而且团队协作中统一的代码格式规范非常重要,因此试图通过 Extension 解决这些问题,从而开发了这个工具。

实现的功能:

  1. 初始化自定义view、UICollectionViewCell、UITableViewCell、viewController,自动删除无用代码和添加默认代码;
  2. 为属性自动添加懒加载代码、对应协议声明和协议方法,主要有 UITableView\UICollectionView\UIScrollView\UIButton\UILabel\UIImageView;
  3. 选中一个类,文件顶部自动添加对应的 import;
  4. 给 import 分组排序去重,从上到下为 主类头文件、viewController、view、manager & logic、第三方库、model、category、其他。

二. 功能演示(注:均可配置快捷键,实现一键操作)

1. 初始化自定义view、UICollectionViewCell、UITableViewCell、viewController,自动删除无用代码和添加默认代码;

(image)

2. 为属性自动添加懒加载代码、对应协议声明和协议方法,主要有 UITableView\UICollectionView\UIScrollView\UIButton\UILabel\UIImageView;

(image)

注意:需要添加懒加载代码的属性需要被光标选中

3. 选中一个类,文件顶部自动添加对应的 import;

(image)

4. 给 import 分组排序去重,从上到下为 主类头文件、viewController、view、manager & logic、第三方库、model、category、其他。

(image)

注意:

  1. 如果不选中对应的 import 则默认是所有 import 行,如果选中的话则只会对选中的 import 分组排序去重
  2. viewController 后缀小写必须为 "controller.h"、"vc.h";
  3. view 后缀小写必须为 "view.h"、"bar.h"、"cell.h";
  4. manager & logic 后缀小写必须为"manager.h"、"logic.h"、"helper.h"、"services.h"、"service.h"。

三. 安装配置方法

1. 将项目 clone 下来,如果不想 clone 项目,直接去 release 下面下载生成的 GHWXcodeExtension.zip,链接 https://github.com/guohongwei719/GHWXcodeExtension/releases,解压即可,然后跳到第三步,如下图

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\option+v,如下图

四. 使用注意事项

1. 使用 addLazyCode 功能的时候,如果添加了代码后想撤销,使用 command + z,这时候 Xcode 可能会 crash,这应该是 Xcode 本身的一个 bug,所以需要注意一下,正常情况下添加以后也不会撤销,如果要撤销手动删除也很方便,即使 crash 了再打开就行了,打开以后是删除状态。希望苹果能尽快修复这个 bug。

五. 调试 GHWXcodeExtension

1. 选择 GHWExtension scheme

2. 运行,选择 xcode,点击 run

3. 选择一个项目

六. 后记

欢迎提 bug 和 feature。
微博:黑化肥发灰11
简书地址:https://www.jianshu.com/u/fb5591dbd1bf
掘金地址:https://juejin.im/user/595b50896fb9a06ba82d14d4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.