使用spacecommander 格式化iOS项目代码

这个工具的地址https://github.com/square/spacecommander

使用方法:

1. 下载 spacecommander

这里可以cd 到自己指定的文件夹,使用git命令下载;

git clone https://github.com/square/spacecommander.git

也可以直接下载压缩包,然后解压.

2. 安装 spacecommander 到需要格式化代码的项目中

cd到项目根目录,执行setup-repo.sh脚本(注意脚本需要全路径),执行完后会在项目根目录多一个隐藏文件.clang-format ,这是一个替身文件

执行setup-repo.sh脚本

执行完脚本后,项目个目录会多出隐藏文件

3.修改代码格式规则

打开.clang-format替身,指向Space Commander仓库中的.clang-format原本文件,修改里面默认系列代码规则,改成自己所需要的规则

iOS 的可以参考这个http://clang.llvm.org/docs/ClangFormatStyleOptions.html

例如:我的iOS项目修改了几条的设置

# 基于LLVM格式

BasedOnStyle:  LLVM

# 大括号之前间断方式

BreakBeforeBraces: Attach

# 声明OC属性后有两行空行

ObjCSpaceAfterProperty: true

4.以上配置已经完成,现在开始使用

这里我故意把代码格式改的很乱,来测试一下效果

格式很乱的代码

格式很乱的代码

当执行git commit 命令后,终端会提示有格式问题

根据提示,执行 >"/Users/YannChee_workMac/spacecommander"/format-objc-files.sh -s ,即可格式化代码,再次commit 时就不会提示代码有格式问题了

顺便总结一下,这几个脚本的作用:

setup-repo.sh 初始化

format-objc-file.sh 格式化单个暂存文件

format-objc-files.sh 格式化所有暂存文件

format-objc-files-in-repo.sh 格式化整个仓库

格式后的代码

使用过程中遇到的问题:

有时候代码命名已经格式化成功,但是git commit 终端还是提示 代码格式有问题,这可能是这个工具的bug,需要在git commit 后面加上 --no-verify修饰下,例如

git commit -m "test" --no-verify

或 git commit --no-verify -m "test"

官方参考:https://clang.llvm.org/docs/ClangFormat.html

其他参考链接如下:

https://www.cnblogs.com/liuyunbin/p/11538267.html

https://blog.csdn.net/softimite_zifeng/article/details/78357898

https://github.com/square/spacecommander.git

https://www.jianshu.com/p/baa4693a7adf

https://juejin.im/post/6844903555866820622

https://juejin.im/post/6844903555866820622

https://www.cnblogs.com/__tudou__/p/13322854.html

https://github.com/square/spacecommander.git

你可能感兴趣的:(使用spacecommander 格式化iOS项目代码)