在iOS开发过程中,写注释是一项必不可少的工作。这不仅有助于自己对代码整理回顾,而且提高了代码的可读性,让代码维护变得容易。但是,写注释又是一项枯燥的工作。我们浪费了大量的时间在输入/***/这样的字符中。并且,这些字符输入非常麻烦。VVDocumenter-Xcode,把我们从枯燥的字符输入中解放出来。

什么是VVDocumenter-Xcode

VVDocumenter是一个能够帮助我们快速生成注释模板的插件。我们只要在需要注释的方法前输入///,注释就会自动生成,并提取出各个参数和返回值。我们只需要填写占位符的内容即可完成注释的编写。给出一张效果图,感受一下。  顺便说一下,VVDocumenter同样支持Swift。上周,中国第一届Swift大会成功举办。我相信,国内会掀起一场Swift学习的热潮。

安装和使用VVDocumenter-Xcode

最好的安装方法就是通过Alcatraz。从Github上下载Alcatraz的Repo,使用Xcode编译就完成了安装。之后,重启Xcode并按下⇧⌘9,打开Alcatraz,搜索VVDocumenter,点击左上角的INSTALL,就会自动安装了。

如果不想通过Alcatraz来安装,我们同样可以下载VVDocumenter的Repo,在Xcode中进行编译来安装。重启Xcode之后,就可以使用///来自动生成注释了。

如果你不喜欢使用///,可以在Xcode的Window菜单中,找到VVDocument,打开设置面板,修改Trigger Input项。在设置选项中,还可以修改tab的空格数以及生成的注释的样式。

Xcode的版本

从Xcode 5.0开始,苹果给所有的插件都增加了UUID验证,以保证Xcode在更新之后的稳定性。插件的plist文件中的DVTPlugInCompatibilityUUIDs值,包含了当前Xcode版本的UUID,否则插件不起作用。

从Xcode 6.3开始,如果我们使用插件,会被提示Load third party bundle。我们应该选择Load bundles,以保证插件可用。如果我们不小心选择了skip bundle,可以使用下面的命令行,重置这条提示。

defaults delete com.apple.dt.Xcode DVTPlugInManagerNonApplePlugIns-Xcode-{your_xcode_version} 

当Xcode更新后,所有插件都会无效。因为插件的plist中的DVTPlugInCompatibilityUUIDs值没有包含最新的版本Xcode的UUID。这时,我们应该试着删除插件目录(默认是~/Library/Application Support/Developer/Shared/Xcode/Plug-ins)下的VVDocument,然后从master分支clone、编译最新版本。也可以尝试使用Alcatraz重新安装。

更多的插件

在Xcode中使用插件会让我们的开发更加快捷。唐巧在《iOS开发进阶》一书中,为我们推荐了许多好用的插件。大家也可以在Alcatraz中去寻找适合自己的插件。

下面,附上《iOS开发进阶》一书中提到的常用插件。

  1. KSImageNamed是一个能帮助你输入[UIImage imageNamed:]中的资源名的插件。当你输入[UIImage imageNamed:]时,会自动弹出上下文菜单,供你选择你需要输入的图片资源名字,另外在选择图片资源时,还可以在左侧预览该资源。

  2. XVim是一个Xcode的vim插件,可以在Xcode的编辑窗口中开启vim模式。vim模式最大的好处是可以全键盘操作,可以方便地移动光标,以及复制、粘贴代码。XVim对于Xcode的分栏模式也有很好的支持,与vim自带的分栏模式一样,可以用快捷键Ctrl + W来切换当前编辑的分栏。

  3. FuzzyAutocompletePlugin允许使用模糊的方式来进行代码自动补全。举个栗子,如果我们要重载ViewDidAppear:方法,那么我们必须依次键入view、did、appear才能得到相应的补全信息,使用FuzzyAutocompletePlugin之后,我们可以键入vda(view、did、appear三个单词的首字母),或任意符合viewDidAppear整个单词出现顺序的子串(例如vdapp,idear等),即可匹配到该方法。

  4. XToDo是一个查找项目中所有的带有TODO、FIXME、???、!!!标记的注释。通常我们在项目开发中,由于种种原因,一些事情需要以后处理,这个时候为了防止遗忘,加上TODO或FIXME注释是非常有必要的,但是上线或者提交代码前要寻找这些未解决的事项却稍嫌麻烦。XToDo可以提供一个汇总的界面,集中显示所有的未完成的TODO和FIXME标记。

  5. BBUDebuggerTuckAway是一个非常小的工具,可以在你编辑代码的时候自动隐藏底部的调试窗口。因为通常情况下,调试的时候是加断点或监控变量的变化,或者在Console窗口用po来输出一些调试信息。如果开始编辑代码了,说明调试已经结束了,这个时候隐藏调试窗口,可以给编辑界面更多空间,方便我们修改代码。

  6. SCXcodeSwitchExpander能够帮助你迅速地在switch语句中填充枚举类型的每种可能的取值。例如,当你输入switch,然后键入NSTableViewAnimationOptions类时,该插件会将其可能的取值补全在每一个case之后。

  7. deriveddata-exterminator是一个清楚Xcode缓存目录的插件。有些时候Xcode会出现各种奇怪的问题,最常见的是在某些复杂操作下(例如,在同一个项目中,来回切换到各种分支版本),会造成Xcode显示一些编译的错误或警告,但是最终又可以编译通过。新手遇到这种问题常常束手无策,而熟悉Xcode的人就知道,通常清除Xcode缓存就可以解决这类问题。该插件在Xcode菜单上增加了一个清除缓存的按钮,可以方便地一键清除缓存。

  8. ClangFormat是一个自动调整代码风格的工具。Xcode本身的代码缩进自动调整功能比较弱,特别是对于JSON格式,常常产生非常丑陋的默认缩进效果。ClangFormat-Xcode可以更好地对代码进行重新排版,并且内置了各种排版风格,也支持自定义风格。

  9. ColorSense是一个UIColor颜色输入辅助工具,可以帮助你在编写UIColor代码时,实时预览相应的颜色。

  10. XcodeBoost包含多个辅助修改代码的小功能。比如:

  • 可以方便地将.m文件中方法的定义暴露到对应的.h文件中。

  • 可以在某一个源文件中直接输入正则表达式查找。

  • 可以复制粘贴代码时不启用Xcode的自动缩进功能。Xcode的自动缩进经常出问题,造成已经调整好的代码缩进,在粘贴时被Xcode调整坏了。

转至:http://www.thinksaas.cn/topics/0/399/399417.html

使用Xcode插件,让iOS开发更加便捷的更多相关文章

  1. 让iOS 开发更便捷-JSONConverter

    JSONConverter是MAC上iOS开发的辅助小工具,可以快速的把json数据转换生成对应的模型类属性,目前支持Objective-C.Swift以及目前流行的第三方库: SwiftyJSON. ...

  2. 【转】iOS开发工具系列(按功能分)

    http://www.cocoachina.com/newbie/basic/2014/0417/8187.html 这是我们多篇iOS开发工具系列篇中的一篇,此前的文章比如:那些不能错过的Xcode ...

  3. IOS开发中Xcode常用插件安装与管理(转)

    XCode中插件管理工具:Alcatraz    转自http://www.cocoachina.com/industry/20140506/8325.html 苹果现在的成绩得益于其始终如一的坚持. ...

  4. iOS开发中经常使用的Xcode插件

    1.全能搜索家CodePilot 2.0 你要找的是文件?是目录?是代码?Never Mind,CMD+SHIFT+X调出CodePilot,输入不论什么你想到搜的东西吧! 想搜appFinishLa ...

  5. iOS开发中如何使自定义方法具有XCode插件使用提示

    iOS开发中难免要安装一些好用的插件,然而插件在使用时往往只对系统的方法有提示作用,而自己写的方法不能用上插件的便利. 其实还是有办法使插件对自定义的方法有效: 1. 首先知道Xcode的插件安装路径 ...

  6. iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接)

    iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接) 这里推荐两款好用的Xcode插件,并提供下载链接. 一.插件和使用如下: 1.两款插件 对项目中图片提供自动提示功能的插件:KSImag ...

  7. iOS开发大神必备的Xcode插件

    写在前面 工欲善其事,必先利其器,iOS开发中不仅要学会Xcode的基本操作,而且还得学会一些Xcode的使用技巧,如掌握常用的快捷键等,还有就是今天要说到的Xcode插件,下面我就为大家介绍几款开发 ...

  8. 李洪强iOS开发之大神必备的Xcode插件

    iOS开发大神必备的Xcode插件 写在前面 工欲善其事,必先利其器,iOS开发中不仅要学会Xcode的基本操作,而且还得学会一些Xcode的使用技巧,如掌握常用的快捷键等,还有就是今天要说到的Xco ...

  9. IOS开发人员经常使用的10个Xcode插件

    IOS开发人员经常使用的10个Xcode插件 申请达人,去除赞助商链接 一个合适的插件意味着它能够适应不同的开发环境,Sublime Text 和TextMate就是非常好的样例.你知道Xcode也支 ...

随机推荐

  1. lc面试准备:Candy

    1 题目 There are N children standing in a line. Each child is assigned a rating value. You are giving ...

  2. wpf 异步使用

    方法前加 asyc,同步方法掉异步方法 public void Init() { buildUI(); } // await 只能用在异步方法上面 public async void buildUI( ...

  3. UML-图的意义

    在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...

  4. [FJSC2014]折线统计

    [题目描述] 二维平面上有n 个点(xi, yi),现在这些点中取若干点构成一个集合S,对它们按照x 坐标排序,顺次连接,将会构成一些连续上升.下降的折线,设其数量为f(S).如下图中,1->2 ...

  5. Linux Kernel空指针引用本地拒绝服务漏洞(CVE-2013-5634)

    漏洞版本: Linux kernel 漏洞描述: BUGTRAQ ID: 61995 CVE(CAN) ID: CVE-2013-5634 Linux Kernel是Linux操作系统的内核. 适用于 ...

  6. crontab(linux下定时执行任务命令)

    在linux在可以通过在脚本里(列如sh)写如日常需要进行的操作,然后通过crontab定时运行脚本. Linux下的任务调度分为两类,系统任务调度和用户任务调度. 系统任务调度:系统周期性所要执行的 ...

  7. 大型系统OA--技术

    OA办公自动化系统--技术 1.由于涉及企业的流程控制与规则管理.所以系统对于规范要求的严谨性,导致在小型开发组在进行开发时必须基于成熟的技术架构.开源的lemon OA,采用了如下技术细节: mys ...

  8. Spring MVC中DispatcherServlet工作原理探究

    转:http://blog.csdn.net/zhouyuqwert/article/details/6853730 下面类图将主要的类及方法抽离出来,以便查看方便,根据类的结构来说明整个请求是如何工 ...

  9. 单位分配的IP地址和电脑主机绑定了,我想用设置一个无线路由器,让我的笔记本电脑和手机都能上网?

    单位分配的IP地址和电脑主机绑定了,我想用设置一个无线路由器,让我的笔记本电脑和手机都能上网?     配一个无线路由器就可以实现,将电脑IP配置成自动获取,找条网线一头插路由LAN口(路由器上有标明 ...

  10. Objective-c初始化和便利构造

    1.创建一个Student这个类 2.声明和实现 1).在Studnet.h文件中对属性和方法的声明 其中这个方法是带参初始化 而这个方法是便利构造.注意与上边的区别 2.在Studnet.m中实现 ...