iOS开发笔记--IOS开发者常用的10个Xcode插件

IOS开发者常用的10个Xcode插件

[导读] 一个合适的插件意味着它可以适应不同的开发环境,Sublime Text 和TextMate就是很好的例子。你知道Xcode也支持插件吗?

一个合适的插件意味着它可以适应不同的开发环境,Sublime Text 和TextMate就是很好的例子。你知道Xcode也支持插件吗?如果你不知道我也不会感到惊讶,因为苹果公司并没有在花力气去宣传Xcode的这个功能,而且官网上关于为Xcode创建插件的文档也很少。

幸运的是这并没有阻止开发者为Xcode创建插件。在本文中我将为大家推荐10款我日常使用的插件,希望它们能在开发中帮助到大家。

Alcatraz

在过去安装Xcode的插件非常麻烦,但是自从有了Alcatraz之后,这件事情就变的非常简单,不得不说Alcatraz是一个重要的里程碑,现在的版本是1.0,它完美支持Xcode5,如果你还没有使用过Alcatraz,我建议你先了解一下它。

1. XcodeColors

XcodeColors是由Robbie Hanson开发的关于代码色彩的插件,这个插件配合CocoaLumberjack使用效果非常好,CocoaLumberjack是Robbie写的日至库,这个组合让我在这几年的编码中省了不少事。

2. XToDo

这个插件不仅强调了TODO,FIXME,???和!!!注释,还为你提供了一个查看列表。

3. Backlight

有些插件看上去微不足道但是他们却非常有用。Backlight就是这样的插件,它只是把当前正在编辑的行突出显示。

4. CocoaPods

CocoaPods主要功能是为IOS和OS的开发进行依赖管理,如果你没有使用过它,我建议你一定要试一试。

CocoaPods plugin是CocoaPods在Xcode上的插件,它可以让你更容易地使用CocoaPods。它为CocoaPods添加了一个菜单项,如果你不喜欢用命令行,你可以使用这个插件。

5. ACCodeSnippetRepository

使用它和你的Git库同步,如果你想手动导入一个Snippet需要很麻烦的步骤,通过这个插件你只需要点击几下鼠标。

6. GitDiff

一个有图形界面的Git插件可以为开发者省去不少麻烦,虽然Tower 和SourceTree也都很不错,但是GitDiff能在Xcode中实时告诉我们现在的工程和上一个版本有哪些区别,这个功能是其他软件做不到的。

7. KSImageNamed

虽然有些人说自动补全会让开发人员变懒,但它的确大大提高了开发效率,尤其是在写Object-C的时候,你甚至可以通过它补全一个图片命名。

Kent Sutherland 发明的 KSImageNamed 插件不仅为你节约了时间,他也结束了拼写的时代。至于开发人员懒惰的问题,见仁见智吧。

8. Peckham

添加引用文件有时候非常麻烦,如果你需要引入一个pod头文件,Xcode自带的自动补全自然帮不了你,这时候你可以用Peckham插件解决这个问题。Command+Control+P解决所有的引入。

9. FuzzyAutocomplete

说到自动完成,大部分的iOS和OS X开发人员都依赖Xcode的自动完成功能。然而,Xcode的自动完成实现并不是完美的,你并不总能通过它得到你期望的建议或希望。

Jack Chen 和Leszek ?la?yński创建了FuzzyAutocomplete插件来代替Xcode的autocomplete。它利用模式匹配算法来解决问题,它的工作方式非常完美。

10. Dash for Xcode

Dash是一个了不起的浏览文档的软件,我每天都会用它。我更喜欢它与Xcode的集成

总结

Xcode的插件体系是苹果流行的IDE中不够热门的一部分,你很难在没有文档教程的情况下去开发一个插件,但是我建议你至少用一用本文列出的10个插件。

英文原文地址:http://code.tutsplus.com/tutorials/10-xcode-plugins-for-ios-development--cms-21899

时间: 2024-12-05 12:46:21

iOS开发笔记--IOS开发者常用的10个Xcode插件的相关文章

IOS开发者常用的10个Xcode插件

IOS开发者常用的10个Xcode插件 申请达人,去除赞助商链接 一个合适的插件意味着它可以适应不同的开发环境,Sublime Text 和TextMate就是很好的例子.你知道Xcode也支持插件吗?如果你不知道我也不会感到惊讶,因为苹果公司并没有在花力气去宣传Xcode的这个功能,而且官网上关于为Xcode创建插件的文档也很少. 幸运的是这并没有阻止开发者为Xcode创建插件.在本文中我将为大家推荐10款我日常使用的插件,希望它们能在开发中帮助到大家. Alcatraz 在过去安装Xcode

iOS开发笔记--iOS开发规范

iOS开发规范 原文地址:http://blog.csdn.net/pjk1129/article/details/45146955 引子 在看下面之前,大家自我检测一下自己写的代码是否规范,代码风格是否过于迥异阅读困难?可以相互阅读同伴的代码,是否存在阅读障碍? 若存在晦涩难懂的,理解成本增大的代码,说明你的团队需要自省了. 下面总结一下OC编程中的一些代码规范(苹果官方推荐的).以OC为示例,但不局限于OC,也可以被当作别的编程语言的开发规范约定(仅需要把OC特有的东西按照你所使用的语言的惯

iOS开发笔记--iOS中的多线程

摘要 本文主要介绍iOS开发中的三种多线程技术:NSThread, NSOperation/NSOperationQueue, GCD.以及在多线程编程中的注意点和小技巧. 多线程 NSThread NSOperation/NSOperationQueue GCD 目录[-] iOS中的多线程 iOS的三种多线程技术特点: GCD基本思想 队列: 操作: 不同队列中嵌套同步操作dispatch_sync的结果: 同步操作dispatch_sync的应用场景: GCD优点: GCD队列: NSOp

iOS开发笔记--iOS基于MVC的项目重构总结

关于MVC的争论 关于MVC的争论已经有很多,对此我的观点是:对于iOS开发中的绝大部分场景来说,MVC本身是没有问题的,你认为的MVC的问题,一定是你自己理解的问题(资深架构师请自动忽略本文). 行文过程中查阅了互联网上的大量文档,其中水平良莠不齐(最常见的就是MVC改个名就当MVVM的),当然也有许多非常有价值的参考资料,在文末会逐一列举,以供参考. 原文地址:http://www.cocoachina.com/ios/20160519/16346.html iOS中的MVC和MVP Coc

iOS开发笔记--iOS图解多线程

iOS图解多线程 前言 多线程一直是iOS开发中重中之重的话题,无论是面试还是真正在公司中进行业务开发,都会经常使用到多线程来开发.笔者在简书上看到一张图,记录的是多线程的相关知识,笔者认为这是非常好的,推荐给大家! 多线程 原文地址:http://www.henishuo.com/ios-multithread-detail/

iOS开发笔记--iOS中的触摸事件和手势处理

iOS中的事件可以分为三大类:原文:http://my.oschina.net/aofe/blog/268749 1> 触摸事件 2> 加速计事件 3> 远程控制事件 响应者对象 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为"响应者对象". UIApplication,UIViewController,UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件. UIRespon

iOS开发笔记--iOS应用架构谈

iOS应用架构谈 开篇 iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iOS应用架构谈 动态部署方案 iOS应用架构谈 本地持久化方案 缘由 之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验.在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android app的架构,你会从哪些方面来说呢? 当时看到这个问题正好在乘公车回家的路上,闲来无聊就答了一把.在zzz在微信朋友圈上追问

iOS开发笔记--iOS动画总结

摘要 本文主要介绍核iOS中的动画:核心动画Core Animation, UIView动画, Block动画, UIImageView的帧动画. 核心动画Core Animation UIView动画 Block动画 UIImageView的帧动画 iOS中的动画 Core Animation CAAnimation: CAPropertyAnimation CAKeyframeAnimation CATransition UIView动画 Block动画 UIImageView的帧动画 UI

iOS开发笔记--iOS后台发送邮件

skpsmtpmessage 是ios第三方后台发送邮件库 https://github.com/jetseven/skpsmtpmessage.git 原文地址:http://www.cnblogs.com/U-tansuo/p/ios_send_email.html -(void)statrUpLoad:(id)sender{    SKPSMTPMessage *testSend = [[SKPSMTPMessage alloc]init];    testSend.fromEmail =