Xcode中的Re-Indent,顾名思义,只是一个调整缩进的功能,彻底依赖它来进行代码格式化显然不够用。咱们使用了一个叫作ClangFormat-Xcode的插件,配合Re-Indent一块儿来作代码格式化。git
ClangFormat-Xcode是一个开源项目,因此先下载源代码:github
项目的README.md上面如是说:布局
... build and run ClangFormat, restart Xcode.ui
意思就是:编译 > 运行 > 重启Xcode插件
如何使用,包括怎么设置快捷键,github上面写得很清楚了。这里讲一下怎么使用自定义Style:rest
下面是咱们项目在用的设置参数,用文本编辑器打开.clang-format文件,直接粘贴进去就行:code
BasedOnStyle: LLVMorm
# 不限定每行代码的最大长度
ColumnLimit: 0接口# 不自动清除代码中的空行
MaxEmptyLinesToKeep: 99# 按照LLVM Style调整{}的位置便可
# LLVM Style对C++的命名空间不缩进
# 对C++的可见性关键字(public、protected和private)不缩进
AccessModifierOffset: -4# 缩进统一使用4个空格代替制表符(Tab)
UseTab: Never
IndentWidth: 4# 在@property后加空格
ObjCSpaceAfterProperty: true# LLVM Style会在参数类型和名称之间加空格,类型和*号之间加空格,*号贴近参数名
以上参数的主要做用是:
一、排版风格以“LLVM Style”为基础,在其之上进行细微调整,减小设置的复杂度;
二、关闭掉一些可能会下降代码可读性的设置,好比:
三、调整{}的位置;
四、调整缩进,好比:
五、调整空格,好比:
最后分享一下咱们在使用Clang Format过程当中的一些经验技巧: