一套理想的插件架构几乎能够决定整个集成开发环境的差异与特性。Sublime Text与TextMate就是很好的实例。但大家可能不了解的是,Xcode也支持插件。哈哈,如果各位真的前所未闻,我也不会感到惊讶,毕竟苹果并没有把太多精力用在Xcode的宣传之上。事实上,我们几乎找不到多少用于指导Xcode创建的说明文档。
幸运的是,这并没有妨碍开发人员在Xcode这片土地上耕耘并构建自己的插件果实。目前市面上存在大量插件,能够让我们的Xcode使用之旅更加平坦也更富乐趣,甚至足以弥合苹果在其中留下的所有沟壑。在今天的文章中,我将向大家展示自己在日常工作中频繁用到的几款优秀插件。
Alcatraz
过去,安装Xcode插件往往令人抓狂不已,但Alcatraz的出现彻底改写了这一历史。今年早些时候,Alcatraz迎来了发展道路上的里程碑——1.0版本,现在如今已经可以与Xcode 5相兼容。如果大家还没有安装Alcatraz,我建议大家首先完成这项工作。
官方网站:http://alcatraz.io/
1. XcodeColors
XcodeColors是一款由Robbie Hanson开发的插件,能够在Xcode控制台中使用多种配色方案。这款插件在与CocoaLumberjack——一套由Robbie编写的卓越日志库——相结合之后更能发挥无穷的威力。这对好搭档像救世主一样让我从多年的困扰中得以解脱:二者能够大大简化调试工作难度,并以不同颜色带来更加鲜明的显示效果。如果大家希望了解与XcodeColors与CocoaLumberjack有关的更多细节信息,不妨点击此处查看快速上手指南。
官方网站:https://github.com/robbiehanson/XcodeColors
2. XToDo
这款插件不仅能够着力强调TODO、FIXME、???以及!!!注释,同时还为其提供一套便捷的专用列表。
官方网站:https://github.com/trawor/XToDo
3. Backlight
某些插件从表面上看似乎无足轻重或者有些简陋,但只要大家加以合理运用、它们都将迸发出惊人的能量。Backlight就是这样一款插件。它惟一的能力就是对当前正在进行编辑的代码行加以高亮显示——没错,虽然看起来简单,但却极具价值。
官方网站:https://github.com/limejelly/Backlight-for-XCode
4. CocoaPods
CocoaPods实际上是一款面向iOS与OS X开发工作的关联性管理器。如果大家还没有使用过CocoaPods,我建议各位赶紧找来试试。点击此处查看相关教程,不到十分钟大家就能轻松掌控其使用方法。
面向Xcode的CocoaPods插件也是存在的,它的主要作用是大大简化CocoaPods的集成方式。这款CocoaPods插件能够直接在Xcode的Product菜单中加入CocoaPods子菜单。如果大家不喜欢命令行,那么这款插件绝对能给大家带来惊喜。
官方网站:https://github.com/kattrali/cocoapods-xcode-plugin
5. ACCodeSnippetRepository
与Xcode插件一样,在Xcode之下管理代码片段也绝非易事。Arnaud Coomans深切体会到了这一点,并开发出一款能够将用户的Xcode代码片段与git库进行同步的优秀插件。
其卓越之处在于,大家手动添加到Xcode当中的所有代码片段都将原封不动继续存在。我们只需点几下鼠标即可从git库当中导入代码片段。大家也完全可以利用这套方案对代码片段进行备份,或者在同时使用多台设备的情况下将其保存在中央位置。
6. GitDiff
对于大多数开发人员而言,使用图形化用户界面能够大大降低git使用中面对的工作强度。尽管Tower与SourceTree等应用程序已经相当出色,但我有时候还是希望能了解到目前正在Xcode代码编辑器中处理的文件到底发生了哪些内部变化。在这种情况下,GitDiff挺身而出帮助我们解决难题,而且其表现相当出色。
这是一套精妙的Xcode代码编辑器强化方案,通过适量的可视化信息提示我们文件自上次提交之后出现了哪些变动。
官方网站:https://github.com/johnno1962/GitDiff
7. KSImageNamed
自动补全机制实在是太赞了,特别是在我们编写Objective-C应用的情况下。如果Xcode能够自动补全文件名称,例如图像文件名称,是不是可以为我们节约下大量时间呢?
Kent Sutherland创造的KSImageNamed插件正是为此而生。它不仅能帮助各位节约时间,还可以确保我们免受拼写错误的影响。
官方网站:https://github.com/ksuther/KSImageNamed-Xcode
8. Peckham
添加导入语句有时候确实让人烦躁。举例来说,如果大家需要导入一条pod标题,那么Xcode的自动补全机制根本帮不上忙。在这种情况下,Peckham插件来救驾了。
按下Command+Control+P键,输入所需标题中的几个字母,并从该插件提供的备选内容列表中选取正确项目。对于Xcode的自动补全功能来说,这确实是一项极好的补充。
官方网站:https://github.com/markohlebar/Peckham
9. FuzzyAutocomplete
说起自动补全,大多数iOS与OS X开发人员在实际工作中都会对Xocde的卓越自动补全功能赞不绝口。不过Xcode在处理自动补全任务时的表现远称不上完美,我们有时候根本得不到那些自己预期或者希望获得的提示结果。
Jack Chen与Lezek Ślażyński所打造的FuzzyAutocomplete插件正是作为替代方案出现的。它能够利用Xcode所使用的算法实现其Open Quickly功能,并以模式匹配形式带来良好的实际表现。它的效果真的非常非常好——因为很重要,所以要说两次。
官方网站:https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin
10. Dash for Xcode
Dash是一款用于浏览文档的优秀软件,我每天都会反复加以运用。更让人喜出望外的是,它现在已经与Xcode相集成,这要归功于其Xcode插件。大家可能知道,我们可以在Xcode编辑器中按住Option键同时点击以直接前往对应文档。不过我对于Xcode自带来的文档浏览器评价不高,在这种情况下Dash插件就成了最理想的解决方案。
官方网站:http://kapeli.com/dash
该插件能够在我们按住Option并点击对应文档后利用Dash而非Xcode自带文档浏览器将其打开。Dash不仅运行速度极快,同时还能与CocoaDocs相集成。举例来说,如果大家用这种方式点击AFNetworking库中的一个方法,那么Dash将显示出该方法的说明文档。我超爱这项功能。
总结
Xcode的插件架构在苹果广受欢迎的IDE体系中被严重低估。如果没有合适的说明文档作为支持,我们很难轻松创建出自己需要的Xcode插件,不过我建议大家至少尝试一下本文中所列出的各套方案。当然,除此之外还有数十款其它Xcode插件等待着大家的发现与挖掘。大家在工作中最常使用的插件有哪些?各位又是否尝试过创建自己的插件呢?请在评论栏中分享您的心得。