XCode for iPhone开发的替代品? (或者:如何让XCode吸得更less?)

我已经是Java开发人员已经有10多年了,现在已经开始喜欢现代IDE为重构,查找死代码,find“用法”等等提供的function。我开始做一些iPhone开发在XCode中缺乏这样的function,我感到非常沮丧。 我所知道的没有“find这种方法/类的用法”,所以我会求助于“在项目中寻找X”,甚至有时候会错过某些东西(为什么?)。

我意识到,由于Java的强types系统和内置的reflectionAPI,在Objective-C中可能有些东西是不可能的。 但即使是简单的事情似乎也没有,或者至多很难find。 例如,“重新格式化此代码”没有键绑定; 你必须去编辑菜单,然后导航2子菜单来做到这一点。

有没有人有成功使用另一个IDE的Objective-C / iPhone开发? 蚀? 我是Intellij IDEA的忠实粉丝,但据我所知,它没有这种支持。 如果没有这一点,高度赞赏build立XCode的指针。

我刚开始使用时遇到了同样的问题。 所以,我问了一个在苹果公司工作的朋友,Xcode是否真的是大多数内部开发者使用的工具。

他说是的,他明确的build议只是硬着头皮去适应。 你也许能够find一个替代scheme,但是你将永远为之奋斗,而不是构buildiPhone应用程序。 有时候,当你在罗马时,你必须像罗马人那样做。

1)IDE中有重构工具。 您可以select一个类或variables名称,并select重构重命名。

2)使用快捷键和额外的function – 您可以使用Cmd-Alt-Up在头文件和实现文件之间快速切换。 Alt-Double Click为框架调用提供文档,Cmd-Double Click将跳转到variables或方法的定义。

3)我通常使用“在项目中查找选定的文本”寻找方法的用法 – 我不知道为什么这样做总是不适合你。

4)如果你想find一些有趣的问题,可以运行你的代码,CLANG扫描构build:

http://clang.llvm.org/StaticAnalysisUsage.html

5)我认为IB比我用过的任何Java GUIdevise器都要好。

XCode和IB和仪器一起实际上是非常强大的工具,花时间研究他们可以为你做什么…

另外,如果您真的觉得需要更高级的编辑function,那么如果他们能够为您做其他事情,那么不时跳出来接受外部编辑的帮助。 一个非常stream行的是TextMate,我也不时地继续使用emacs。

Jetbrains实际上正在开发XCode的替代品,因为你是IntelliJ Idea的忠实粉丝,所以你很快就会好运了:

http://devnet.jetbrains.net/thread/291466

试试JetBrains AppCode http://www.jetbrains.com/objc/

我仍然遇到了一些适应XCode的麻烦,但是我越用越好。 除了Cocoa编程外,我正在使用vim。

有一点我觉得很有帮助,就是把这个Xcode键盘快捷键列表放在我的显示器旁边。

对于错过键盘快捷键的菜单项,如“重新设置此代码”,请使用这些说明来定义您自己的快捷键。

XCode技巧和提示线程有一些真正的gem – 我鼓励你阅读它,如果你还没有。

为了真正爱XCode,我不得不作出以下更改:

  • 切换到所有function于一身的布局:这真的有助于避免正在进行的窗口狂欢。
  • debugging器显示切换到垂直布局:这使debugging更愉快
  • 安装了uncrustify并创build了用户脚本来解密我的文件(绑定到命令1):这使得编辑其他人的代码变得更容易,我喜欢空白和{在一个新的行上,大多数Objective-C代码不是这样看的。

只要这三个改变将大大改善您的XCode体验。 我用的越多,我越喜欢它。 他们仍然需要改进查找/replacefunction,并提高添加/删除断点的速度,但除此之外,我对此感到非常满意。

我更喜欢vim作为多种语言/平台的单一界面。 对于vim怪胎,我把它放在我的〜/ .vimrc中:

"xcode make program let prg="xcodebuild" let makepath=$MAKEPATH let &makeprg="cd ".$BASE.";".prg.' '.makepath "/Users/user/Project/Classes/stuff.m:46: error: 'somecrap' was not declared in this scope set errorformat=%f:%l:\ error:%m 

然后,当我想要在Windows窗体上使用Visual C ++进行vim编码时:

 "Visual C++ 2008 make program let prg="devenv" let makepath=$MAKEPATH "makeprg= cmd /c "devenv /some/path/to/some.sln" let &makeprg='cmd /c "'.prg.' '.makepath.'"' "2>c:\cygwin\home\user\proj/blah.cpp(1657) : error C2065: 'blah' : undeclared identifier set errorformat=%.%#>\ %#%f(%l)\ :\ %#%t%[Az]%#\ %[AZ\ ]%#%n:\ %m 

有一些奇特的方法来设置makeprg取决于你正在编辑的文件types,但我还没有这样做。 无论哪种方式,将makeprg和errorformats设置为:cw应该使任何vim粉丝高兴。 我仍然需要在相应的IDE中进行debugging,但是我可以单独使用vim进行编码和编译。

有一个名为xcodebuild的命令行工具。 您可以在Xcode中设置一个项目,以便Xcode生成所有必需的文件以及其他任何文件,但您可以使用任何您喜欢的外部编辑器。 所有你需要做的就是在Xcode项目本身的同一个目录下运行xcodebuild ,它会构build它。 您甚至可以从命令行select要使用哪个目标和哪个构buildconfiguration。

这是一个愚蠢的想法,因为你必须处理多个IDE,但是我偶尔也会这样做,因为有时候我觉得在命令行上开发起来更容易。

ObjectivEClipse项目是将EclipseC支持添加到Eclipse CDT的新工作。 它还很年轻,但如果有人愿意参与开源开发,请看看。

我真的不打算贬低你的问题,但VIM,make和gcc对我来说都适合所有的语言和平台。 这是一个工具集(对我来说)是最便携和可靠的。 这可不像你想的那么漂亮,但它能够有效地完成工作。

虽然不是一个真正的IDE,但如果高级的文本编辑是你所追求的, TextMate是非常强大的。 它处理各种各样的语言,并有用户创build的扩展(捆绑),添加了很多有趣的function。 你所描述的那种重新格式化操作特别好。 我用它来进行各种文本编辑。

但是,我在Xcode中完成了我所有的Mac / iPhone开发。 我已经尝试了其他工具,比如TextMate,但我一直回到这个IDE。 几乎所有我遇到过的经验丰富的Mac开发人员都使用Xcode,而且大多数人对其function和布局感到满意。 这可能是因为你需要调整到这个IDE的devise,而不是Eclipse或Visual Studio。 坦率地说,我并没有对那些IDE(或者KDevelop,我在那里做了一些Linux工作)印象深刻,并且发现Xcode很适合我。

如前所述,Xcode 3.0和3.1为IDE带来了一些重大改进。

我是一名Java开发人员,就像Eclipse Java插件带来的所有酷炫function一样,作为将ObjectiveC从XCode中提取出来的替代scheme,您可以尝试坚持使用Java,并使用iSpectrum( http:// www。 flexycore.com )。 通过这个编译器+ Eclipse插件解决scheme,您可以继续在Java中开发,在众所周知的赞赏环境中构build本机iPhone应用程序!

我觉得有用的一些捷径:

  1. 命令+ shift + d去定义函数/variables/types等(点击中间或双击以突出显示您要查找的内容,然后执行cmd + shift + d)

  2. ALT +双击:按住ALT键,双击带来快速的帮助以及一个button去文档

  3. 按住Alt并点击一个文件,在相邻的并排视图中打开它(xcode 4)

那些是我最常用的。 其他快捷键在这里: http : //cocoasamurai.blogspot.com/2008/02/complete-xcode-keyboard-shortcut-list.html

例如,“重新设置此代码的格式”没有键绑定 – 咖啡因昏迷(OP)

部分解决scheme:在一行或选定区域内使用control-I重新缩进。