Xcode插件
Xcode是iOS的集成开发环境,虽然苹果一直在不断改进Xcode,但程序员总是有各种新奇的想法和需求,当Xcode无法满足他们时,于是他们就会通过插件的方式来为Xcode增加新的功能。本节将会给大家介绍一些常用的Xcode增强插件。
Xcode所有的插件都安装在目录~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/下,每个插件为一个子目录,你也可以手工切换到这个目录来增加或删除插件。
Alcatraz
Alcatraz(http://alcatraz.io/)是管理Xcode所有插件的插件,它可以直接集成到Xcode的图形界面中,让你感觉就像在使用Xcode自带的功能一样。Alcatraz不但可以管理Xcode的插件,它另外还提供了管理Xcode工程模版以及颜色配置的功能。
使用如下的命令行来安装Alcatraz:
mkdir -p ~/Library/Application\ Support/\
Developer/Shared/Xcode/Plug-ins;
curl -L http://git.io/lOQWeA |\
tar xvz -C ~/Library/Application\ Support/\
Developer/Shared/Xcode/Plug-ins
安装成功后重启Xcode,就可以在Xcode的顶部菜单中的“Window”->“Package Manager”中找到Alcatraz。点击“Package Manager”,即可启动插件列表页面。你可以在右上角搜索插件,对于想安装的插件,点击其左边的图标,即可下载安装,如下所示,我正在安装KImageNamed插件:
安装完成后,再次点击插件左边的图标,可以将该插件删除。
以下所有介绍的插件均可用该方法来安装或删掉,就不另行介绍了。
KSImageNamed
KSImageNamed(https://github.com/ksuther/KSImageNamed-Xcode)是一个帮助你输入[UIImage imageNamed:]中的资源名的插件。当你输入[UIImage imageNamed:]时,会自动的弹出上下文菜单,供你选择你需要输入的图片资源名字,另外在选择图片资源时,还可以在左侧预览该资源。如下图所示:
XVim
XVim(https://github.com/JugglerShu/XVim)是一个Xcode的vim插件,可以在Xcode的编辑窗口中开启vim模式。
vim模式最大的好处是可以全键盘操作,可以方便地移动光标以及复制、粘贴代码。XVim对于Xcode的分栏模式也有很好的支持,与vim自带的分栏模式一样,可以用快捷键ctrl + w来切换当前编辑的分栏。
XToDo
XToDo(https://github.com/trawor/XToDo)是一个查找项目中所有的带有 TODO, FIXME, ???, !!!标记的注释。
通常我们在项目开发中,由于种种原因,一些事情需要以后处理,这个时候为了防止遗忘,加上TODO或FIXME注释是非常有必要的,但是上线或提交代码前要寻找这些未解决的事项却稍显麻烦。XToDo可以提供一个汇总的界面,集中显示所有的未完成的TODO和FIXME标记。
BBUDebuggerTuckAway
BBUDebuggerTuckAway(https://github.com/neonichu/BBUDebuggerTuckAway)是一个非常小的工具,可以在你编辑代码的时候自动隐藏底部的调试窗口。因为通常情况下,调试的时候是加断点或监控变量变化,或者在Console窗口用po来输出一些调试信息。如果开始编辑代码了,说明已经调试结束了,这个时候隐藏调试窗口,可以给编辑界面更多空间,方便我们修改代码。
SCXcodeSwitchExpander
SCXcodeSwitchExpander(https://github.com/stefanceriu/SCXcodeSwitchExpander)帮助你迅速地在switch语句中填充枚举类型的每种可能的取值。
例如,当你输入switch,然后键入一个NSTableViewAnimationOptions类时,该插件会将其可能的取值补全在每一个case之后,如下图所示:
deriveddata-exterminator
deriveddata-exterminator(https://github.com/kattrali/deriveddata-exterminator)是一个清除Xcode缓存目录的插件。
有些时候Xcode会出各种奇怪的问题,最常见的是在某些复杂操作下(<例如同一个项目,来回切换到各种分支版本>),会造成Xcode显示一些编译的错误或警告,但是最终却又可以编译通过。新手遇到这种问题常常束手无策,而熟悉Xcode的人就知道,通常清除Xcode缓存就可以解决这类问题。该插件在Xcode菜单上增加了一个清除缓存按钮,可以一键方便地清楚缓存内容。
VVDocumenter
VVDocumenter(https://github.com/onevcat/VVDocumenter-Xcode)是一个自动生成代码注释的工具,可以方便地将函数的参数名和返回值提取出来,这样结合上一节介绍的appledoc命令,就可以方便地将帮助文档输出。
ClangFormat
ClangFormat(https://github.com/travisjeffery/ClangFormat-Xcode)是一个自动调整代码风格()的工具。Xcode本身的代码缩进自动调整功能比较弱,特别是对于JSON格式,常常产生非常丑陋的默认缩进效果。ClangFormat-Xcode可以更好地对代码进行重新排版,并且内置了各种排版风格,也支持自定义风格。
ColorSense
ColorSense(https://github.com/omz/ColorSense-for-Xcode)是一个UIColor颜色输入辅助工具,可以帮助你在编写UIColor代码时,实时预览相应的颜色,如下图所示:
XcodeBoost
XcodeBoost(https://github.com/fortinmike/XcodeBoost)包含多个辅助修改代码的小功能,比如:
可以在.m文件中复制方法实现,然后将该方法的定义粘贴到对应的.h文件中
可以在某一个源文件中直接输入正则表达式查找
可以复制粘贴代码时不启用Xcode的自动缩进功能(<Xcode的自动缩进经常出问题,造成已经调整好的代码缩进,因为粘贴时被Xcode调整坏了>)
小结
本文分图形工具,命令行工具,Xcode插件三个部分,介绍了iOS开发中好用的工具。其中涉及的图形工具部分是收费的,而命令行工具和Xcode插件工具全部是免费并且开源的工具,笔者在此也感谢广大的开源软件作者,是他们让整个软件生态圈更加美好。