前言
Xcode8出来后,为了安全起见,xcode8增加了安全相关的检查,更细点说它从根源上屏蔽了插件的工作,xcode插件在xcode8上统统不能执行。这里介绍了其中一种插件clang-format的安装以及使用,clang-format可以减少花在规范代码的时间,让开发人员可以更加关注业务开发,同时让代码更加规范优雅。
操作步骤
- 先安装Alcatraz
- 通过Package Manager安装clang-format
前期准备工作
- 到githup上下载Alcatraz https://github.com/supermarin/Alcatraz
- 打开终端输入
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
-
得到当前的UUID, 打开下载的Alcatraz project,在这个工程的info.plist设置里添加:
- run
-
重启Xcode,若没有出现下图提示继续下列Alcatraz安装操作.
Alcatraz的安装
Alcatraz 是一个帮你管理 Xcode 插件、模版以及颜色配置的工具。它可以直接集成到 Xcode 的图形界面中,让你感觉就像在使用 Xcode 自带的功能一样。首先打开你的xcode,检查 Package Manager是否存在,若存在跳过以下步骤.
1.打开终端,输入
install update_xcode_plugins
2.如果出现下图则是报错: 则继续输入以下命令并执行,否则跳过此步。
sudo gem install -n /usr/local/bin update_xcode_plugins
3.会提示输入密码
4.会出现下边安装成功提示
5.继续输入update_xcode_plugins
update_xcode_plugins
6.会出现下边的情况,这就代表快成功了,会出现下边图片的箭头的提示语,把这句话复制下来,继续输入.
7.按回车键,会出现下图的提示,输入Y,出现Finished!那么,恭喜你安装成功了.
此刻完全退出xcode(看清楚了哦,是完全退出),重启xcode,然后点击Window选项卡(xcode最上边),这个时候你就会发现有 Package Manager 的存在(参照第一张图).
Package Manager的使用
-
点击Package Manager,在search搜你想使用的第三方插件,如ACC,就会出现下边的提示,点击 左边按键 INSTALL即是安装.
-
安装好你想要的插件之后,彻底退出Xcode,在终端输入
update_xcode_plugins
-
这时它会自动帮我们配置并安装这些插件,我们再打开Xcode会看到提示选择 load bundle.
clang-format 的使用
按照上边的步骤就可实现clang-format的安装,这个时候你可以点击Edit,就会发现最下边有个clang-format,那么恭喜你,安装成功了,那么接下来谈谈如何使用吧.
-
然后将.clang-format文件放到项目文件夹里面(和.xcodeproj同级目录)
- 虽然CLangFormat本身就内置了一些标准化的代码格式化方案,但是同样可以自定义,我们就采用了自定义的方法. 具体的,在工程目录或者workspace目录下创建一个" .clang-format"文件 ,clang-format 只是一个配置文件,可以复制到任何地方。你可以把它复制到你的项目的根目录,也可以把它复制到你所有项目的根目录。
-
配置参数:
# 基础样式
BasedOnStyle: LLVM
# 缩进宽度
IndentWidth: 4
# 圆括号的换行方式
BreakBeforeBraces: Attach
# 支持一行的if
AllowShortIfStatementsOnASingleLine: true
# switch的case缩进
IndentCaseLabels: true
# 针对OC的block的缩进宽度
ObjCBlockIndentWidth: 4
# 针对OC,属性名后加空格
ObjCSpaceAfterProperty: true
# 每行字符的长度
ColumnLimit: 0
# 注释对齐
AlignTrailingComments: true
# 括号后加空格
SpaceAfterCStyleCast: true
# 不在小括号里加空格
SpacesInParentheses: false
# 不在中括号里加空格
SpacesInSquareBrackets: false
-
关于使用的情况,找了很多资料,发现都是如此雷同,观赏性以及操控性微之甚微,在这里找到了一篇文章,感觉作者对于插件这块解读的非常详细,也是比较膜拜的,当然都是借助一位大神唐巧的解读.
- 关于clang-format详细使用
- CLangFormat的所有可用参数文档
- 其他插件的介绍