FORLIVEFORLIFE 2013-01-16
Xcode是开发iOS应用和MacOS应用的必备工具,但这个工具的辅助功能相对于Eclipse之类的IDE来说,还是比较少,在Eclipse里只要按Ctrl+Shift+F,就可以将Java代码格式化得非常好看。而在Xcode里,只有Re-Indent(Ctrl+I)这一个调整缩进的功能,显然不够用。
如果想要完成完备的代码格式化,得要借助Uncrustify这样的工具。更进一步,我们用Automate配置一个针对Text的Service,再加上快捷键,就可以在Xcode里间接实现和Eclipse同样效果的代码格式化功能了。
首先安装Uncrustify工具。安装的方法很多,推荐用Homebrew来安装。如果机器上没有Homebrew,先用这条命令安装:
/usr/bin/ruby-e"$(curl-fksSLhttp://u.aodaren.com/homebrew)"
安装好Homebrew后,用这条命令安装Uncrustify:
brewinstalluncrustify
详细的Automate配置步骤可以参考这篇文章,如果不想自己配置,也可以直接下载已经配置好的workflow包,复制到~/Library/Services/,并解压就可以了:
mvUncrustify-Objective-C.workflow.tar.gz~/Library/Services/
cd~/Library/Services/
tarzxvfUncrustify-Objective-C.workflow.tar.gz
下载针对Objective-C语言的Uncrustify配置文件,移动到~/目录,并更名为.uncrustify_obj_c.cfg,注意目标文件名前面有个.:
mvuncrustify_obj_c.txt~/.uncrustify_obj_c.cfg
如果上面已经顺利完成,那么现在到Xcode里选中一段代码,点右键,在Services里面应该已经有一个UncrustifyObjective-C服务了。选择后,即可将代码格式化。当然,如果每次都点鼠标显然太麻烦,下面来配置快捷键。
点屏幕左上角的苹果图标,选SystemPreferences–Keyboard–KeyboardShortcuts–Services,在Text分区里,找到刚添加的服务UncrustifyObjective-C,给这个服务加上快捷键。注意不要和Xcode里其它快捷键冲突,推荐设置为:Opt+Cmd+字母O。
这样以后在Xcode里,先用Cmd+A全选代码,再用Opt+Cmd+O来格式化代码。整个效果和Eclipse基本上差不多。
最后,如果对格式有不同的需求,还可以修改cfg文件里的设置,每个选项都有详细的说明,这里就不再赘述了。
一.代码块在哪里?如果上面这张图不小心点没了或者没出来,可以看第一步的操作,然后鼠标停留在选中的区域停留2秒以上就会出现左边的??可以将路径中的代码块,迁移到不同的电脑上使用,需重新启动Xcode ;