AppCode,Objective-C IDE的另一选择

Xcode or AppCode

近年来随着iOS设备和Mac发展,Objective-C(以下简写为OC)进步神速,但是这个世界上并没有多少OC的IDE。要说集成了Mac和iOS SDK的OC开发套件,最为常用和普及的一定是Apple自家的Xcode了。真心说来Xcode是一个很棒的IDE,它具备了作为一个优秀IDE所应该拥有的一切要素。其他的OC IDE环境从来不是主流,但是其中却也不乏优秀者,JetBrains的AppCode便是佼佼者之一。

说到JetBrains可能最为人熟知的是它旗下的另一款Java IDE——IntelliJ IDEA。而JetBrains也还同时有PHP,Python,Ruby等语言的专用IDE,可以说JetBrains就是以IDE为主要产品的公司。作为一家专业的IDE解决方案提供商,它的产品自然也能符合绝大多数用户的需求。而AppCode是JetBrains为Mac和iOS下app开发所推出的IDE产品。如果你想要更effective和elegant的coding,那确实应该尝试AppCode;或者只是单单看腻了Xcode,也可以尝尝鲜~

列举AppCode的几个好用特性

代码补全

这是最最基本的特性,我想也是一个合格的IDE及编辑器应该完成的最基本的功能。AppCode的代码补全不仅限于类、方法或者变量名字这样的基本自动完成,它还具备了根据上下文推测的能力,并且推测算法十分可靠。

甚至如果你写了一个从未出现过的变量或者方法,AppCode都会询问你是否想要添加这个方法。开发者将有机会避免一切可能的无意义的来回跳转,而专注于有效代码的编写。

快速跳转

Xcode的最大确定之一就是难以定位文件和类。想找一个文件的话,基本上不可能完全用键盘实现。而如果遵循效率至上的原则的话,手指离开键盘就意味着效率下降。Sublime Text提供了一种很优秀的寻找和跳转的方法,而AppCode中也有类似的导航方式(我不确定是谁先提出的)。配合类似微博的特定符号,可以完成从文件到类乃至到方法和符号的快速跳转,避免了所有可能的鼠标操作。

代码分析和修改意见

虽然Xcode也有代码分析的功能(Shift+Cmd+B in Xcode 4),但是大部分情况下是会望了用的,而且Xcode的分析基本只能找到内存上的潜在问题,随着ARC的逐渐普及,相信内存上的issue会在开发过程中越来越少。AppCode的代码分析是实时进行的,在代码完成之前,你就可以看到存在的问题。分析和监测的问题包括且不限于代码内存管理、从未调用的方法、不可到达的代码段等。

关于警告或错误代码的修改可以说是AppCode的强项,自动帮助添加release/autorelease,优化头文件引用(去掉多余头文件以及自动添加需要的头文件),自动帮助完成强制转换等。

代码分析和修正共有超过60种监视的错误,遵循AppCode的建议可以保证代码的整洁。

代码格式修正

每个人都有自己喜欢和习惯的代码格式,比如{}的位置,缩进和隔行的形式等等。阅读符合自己风格的代码时,往往效率能有大幅提升。AppCode提供了高度可自定制的代码风格模版,并可以很简单地将其套用到任何代码上。这样,不论写代码时多么没有注意格式,最后产生的代码都是完全符合风格的漂亮优雅的代码。这不仅可以为自己之后的维护和修改打下基础,也能在团队合作中快速将自己的代码的风格改为和团队统一。这也是我个人最喜欢的AppCode的一个功能。

iOS环境

既然是for OC的IDE,那基本上绝大部分时间都是在为iOS或者Mac开发而工作了。AppCode虽然不是Apple的亲儿子,但是不管是设备调试还是模拟器运行也都是没有问题的。而且AppCode也集成了GDB和LLDB,其Debug工具的界面总体上说比Xcode更灵活。另外,单元测试和文档功能也深度集成到了AppCode中,可以随时方便地运行和调用。

插件

插件这种东西,为一个应用提供了无限的可能(关于插件这种东西的登峰造极的应用,可以参考VIM或者魔兽世界)。可以说使用插件或者自己编写插件来使用,完全可以将AppCode二次开发为一个完全符合自己需求和习惯的IDE。Xcode虽然也提供插件功能,但是Xcode的插件开发相当繁琐,而且成功的Xcode插件也基本不存在与这个世界之上。而AppCode现在已经有50+的插件存在于插件仓库中,已经可以满足大部分开发者的需求了(比如存在把编辑器VIM化的强力插件)。

AppCode的不足

金无足赤,AppCode也有一些不足之处。比如需要依赖Xcode,没有集成nib编辑器,在打开nib文件时会自动去开Xcode,Instrument工具也要调用Xcode等。但是这并不妨碍AppCode成为一款伟大的IDE,在通过一段时间的对AppCode的使用后,我已经成为了AppCode的忠实拥趸~这款IDE对于开发效率的提高和开发心情的调节可谓是相当成功。

转载自:https://onevcat.com/

时间: 2024-10-29 16:31:15

AppCode,Objective-C IDE的另一选择的相关文章

什么是IDE模式,IDE模式怎么用

IDE 是旧的传统的ATA硬盘. IDE的英文全称为"Integrated Drive Electronics",即"电子集成驱动器",它的本意是指把"硬盘控制器"与"盘体"集成在一起的硬盘驱动器.把 盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己 的硬盘是否与其它厂商生产的控制器兼容.对用户而言,硬盘安装起来也更为方便.IDE这

IDE接口硬盘安装方法

  第一步查看主板说明书或到网站上看看,确认主板BIOS支持大硬盘,戴上胶皮手套,或用手摸一下墙壁,将身上的静电放掉. 第二步拆开硬盘包装盒,认清硬盘数据线和主板上的IDE接口.主板上一般有两个IDE接口,在接口旁边标记有"IDE1"."IDE2",也有标记为"IDEO"和"IDE1"的."IDE1"优先于"IDE2",因此,一般都把硬盘接在"IDE1"上,把光驱等接

把握VB.NET中的流FileStream

stream 当你第一次用VB.NET读写文件的时候,你肯定会发现VB.NET摒弃了传统的文件I/O支持,感觉不习惯.其实,在.NET里面,微软用丰富的"流"对象取代了传统的文件操作,而"流",是一个在Unix里面经常使用的对象. 我们可以把流当作一个通道,程序的的数据可以沿着这个通道"流"到各种数据存储机构(比如:文件,字符串,数组,或者其他形式的流等).为什么我们会摒弃用了那么久的IO操作,而代之为流呢?其中很重要的一个原因就是并不是所有的数

XSLT设计器快速入门指南

概述 XSL Transformation 服务是一个 web 服务.它接收外部客户端的消息,并根据 XSL 样式表转换该消息,然后将其发回原处或者转发给其他 web 服务. 本教程中将创建一个简单的 XSL Transformation 服务,可接收消息.转换消息,然后将消息发回调用 web 服务. 前提条件 本文假定您拥有 NetBeans IDE 的基本知识或者具备相关编程经验. 系统要求 本教程假定您的系统满足 NetBeans 6.0 发行说明 的系统要求 部分所指定的要求. 本教程所

用C++ Buider制作自绘画列表框

C++ Builder中的列表框和组合框控件都已经提供了自绘画接口.使用这些接口可以实现把列表框和组合框中的项目显示为图像.如果把这种功能封装成组件就更妙了,下面以列表框为例,示范这一过程. 一 实现原理 列表框有的Style属性定义了三种风格,lbStandard风格只能显示文本,bOwner-DrawFixed与lbOwnerDrawVariable风格可以实现自绘画功能,所不同的是,具有前者风格的列表框中每一项的高度都是相同的,后者允许应用程序为每一项定义不同高度. 具有自绘画风格的列表框

在NetBeans 6.0中安装和配置Ruby Support

下载Ruby支持 如果您尚未安装NetBeans 6.0 IDE,请打开NetBeans IDE 6.0下载页面,然后下载一个个含有Ruby支 持的IDE版本. 如果已经有NetBeans IDE 6.0,但是NetBeans IDE 6.0中没有Ruby支持,则按照以下步骤 将Ruby支持添加到该IDE中. 如果您使用代理上网,可在主菜单中选择Tools > Options,并选择Manual Proxy Settings,输入 您的HTTP代理服务器的名称和端口号,然后单击OK按钮. 在主菜

用Sun ONE Studio构造Web服务

Web服务使用一个复杂的体系结构为客户应用程序提供一个简单机制来从服务器应用程序调用方法和获取结果,而不用计较源代码使用的语言和主机平台有什么不同.Sun ONE Studio提供的工具让开发者能够使用包含在现有的Java类中的Web服务.方法--而不需要对这种体系结构有更深的了解.本文从一个基于servlet的Web模块中创建一个Web服务,演示如何使用现有的服务逻辑来生成新的客户应用程序. 介绍 回顾一下Web服务的核心技术--XML和简单对象访问协议( SOAP)--很明显这些技术实现已经

适用于iOS开发者的Android开发技巧

  我曾经从事过五年的iOS应用开发工作,那段时间我一直在尽量避免同Android打交道--不过现在情况不同了.不管大家是否相信,Android开发其实乐趣满满.而且与iOS开发相比也不像大家想象的那样差异巨大. 我在Android平台上开发出这款"七分钟锻炼"应用,并借此学到了很多宝贵的知识.我希望这篇文章分享的一些小技巧也能帮助大家解决实际问题.请注意,我接下来进行比较的内容并不一定完全匹配,而且本文的重点也不在于完整地叙述Android开发;当然,我一定会提到自己在开发这款简单应

win7系统下如何开启AHCI模式

  第一次用固态硬盘安装win7系统需要查看一下是不是开启了AHCI模式,如果没有开启的话严重影响固态硬盘性能,在安装win7系统之前就需要开启AHCI模式,如果安装win7系统之后,在进入BIOS设置开启AHCI模式的话就会出现蓝屏,电脑系统就进不去了.所以必须要先开启AHCI模式然后再装win7系统,开启AHCI模式的具体方法请参考以下内容: 在win7系统下开启AHCI模式首先需要更改注册表,具体操作方法:按下Windows键+R键输入"regedit"回车进入到注册表编辑器.2