使用Uncrustify在Xcode中格式化Objective-C代码

来源:互联网 发布:单片机控制温度 编辑:程序博客网 时间:2024/05/06 22:45
点击打开链接前段时间在做web开发,然后发现了一些代码格式化的插件。我就想了作为ios开发者一直都没用过obc的格式化功能,是不是有点out。然后就在tinyfool出的新杂志里面看到了这篇文章。Xcode有提供简单的缩进功能(crt+i);但是远远不够的。

如果想要完成完备的代码格式化,得要借助Uncrustify这样的工具。更进一步,我们用Automate配置一个针对Text的Service,再加上快捷键,就可以在Xcode里间接实现和Eclipse同样效果的代码格式化功能了。 

首先安装Uncrustify工具。安装的方法很多,推荐用Homebrew来安装。如果机器上没有Homebrew,先用这条命令安装: 

/usr/bin/ruby -e "$(curl -fksSL http://u.aodaren.com/homebrew)" 

安装好Homebrew后,用这条命令安装Uncrustify: 

brew install uncrustify 
我在安装uncrustify时候遇到一个安装问题,SHA1,mismatch。然后我把brew update后,提示我xcode不是最新的,然后我升级后,还是有问题。我试了下brew install -f uncrustify。就可以了
详细的Automate配置步骤可以参考这篇文章,如果不想自己配置,也可以直接下载已经配置好的workflow包,复制到~/Library/Services/,并解压就可以了: 

mv Uncrustify-Objective-C.workflow.tar.gz ~/Library/Services/ 
cd ~/Library/Services/ 
tar zxvf Uncrustify-Objective-C.workflow.tar.gz 
我发现我的library里面没有services这个文件夹,于是我就自己建了一个。
下载针对Objective-C语言的Uncrustify配置文件,移动到 ~/ 目录,并更名为 .uncrustify_obj_c.cfg,注意目标文件名前面有个 .: 

mv uncrustify_obj_c.txt ~/.uncrustify_obj_c.cfg 

如果上面已经顺利完成,那么现在到Xcode里选中一段代码,点右键,在Services里面应该已经有一个Uncrustify Objective-C服务了。选择后,即可将代码格式化。当然,如果每次都点鼠标显然太麻烦,下面来配置快捷键。 

点屏幕左上角的苹果图标,选 System Preferences – Keyboard – Keyboard Shortcuts – Services,在Text分区里,找到刚添加的服务Uncrustify Objective-C,给这个服务加上快捷键。注意不要和Xcode里其它快捷键冲突,推荐设置为:Opt+Cmd+字母O。 

这样以后在Xcode里,先用Cmd+A全选代码,再用Opt+Cmd+O来格式化代码。整个效果和Eclipse基本上差不多。 

最后,如果对格式有不同的需求,还可以修改cfg文件里的设置,每个选项都有详细的说明,这里就不再赘述了。
原创粉丝点击