除了 Xcode 之外,是否有任何适用于 Objective-C 的全功能 IDE?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/67640/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-03 20:44:59  来源:igfitidea点击:

Other than Xcode, are there any full functioned IDEs for Objective-C?

objective-cdebuggingide

提问by Tim

I know and have Xcode, but I was wondering if there were any other complete development environments that support Objective-C? I'm not looking for solutions with vim or emacs, nor editors like BBEdit that support syntax highlighting, but a full fledged IDE with:

我知道并拥有 Xcode,但我想知道是否还有其他完整的开发环境支持 Objective-C?我不是在寻找带有 vim 或 emacs 的解决方案,也不是像 BBEdit 这样支持语法高亮的编辑器,而是一个完整的 IDE:

  • code completion
  • compilation
  • debugging
  • refactoring
  • 代码完成
  • 汇编
  • 调试
  • 重构

Extra points for being cross platform, supporting vi key bindings and supporting other languages.

跨平台、支持 vi 键绑定和支持其他语言的额外加分。

Note:

笔记:

I've updated and accepted my answer below as Jetbrains has released Early Access for AppCode, their new Objective-C IDE. Since this has been a fairly popular question, I thought it worthwhile to update the information.

我已经更新并接受了下面的答案,因为 Jetbrains 已经发布了他们新的 Objective-C IDE AppCode 的Early Access 。由于这是一个相当受欢迎的问题,我认为更新信息是值得的。

回答by Tim

I recently learned that Jetbrainsthe make of my favorite IDE (Idea) may support Objective-C (though it is unclear how much it will work for iPhone/iPad development). See the thread herefor early discussion on this.

我最近了解到,我最喜欢的 IDE (Idea) 的Jetbrains可能支持 Objective-C(虽然目前还不清楚它对 iPhone/iPad 开发有多大作用)。有关此问题的早期讨论,请参阅此处的线程。

In the last year or two, they have started adding additional language support both in their flagship IDE as well as specialized IDEs (for Ruby, Python, PHP). I guess this is just another step in the process. I for one would love to have another option other than XCode and I couldn't think of one that I'd love more.

在过去一两年中,他们开始在其旗舰 IDE 和专用 IDE(用于 Ruby、Python、PHP)中添加额外的语言支持。我想这只是过程中的另一个步骤。对于一个人来说,我希望有除 XCode 之外的另一种选择,但我想不出我更喜欢的选择。

This is obviously vaporware at the moment, but I think it is something to keep an eye on.

这显然是目前的雾器,但我认为这是值得关注的。

This is now a real product, albeit still in Early Access. See herefor a the blog on this new product, which will give you pointers to check out the EAP.

现在这是一款真正的产品,尽管仍处于抢先体验阶段。请在此处查看有关此新产品的博客,该博客将为您提供查看 EAP 的指导。

UPDATE: AppCodehas now been released and offers a true alternative to using Xcode for Objective-C and iPhone/iPad/Mac development. It does still rely on Interface Builder for layout and wiring of GUI components and uses the iOS simulator, but all coding, including a slew of refactorings, smart templating and static analysis, is available through App Code.

更新:AppCode现已发布,提供了使用 Xcode 进行 Objective-C 和 iPhone/iPad/Mac 开发的真正替代方案。它仍然依赖 Interface Builder 进行 GUI 组件的布局和接线,并使用 iOS 模拟器,但所有编码,包括大量重构、智能模板和静态分析,都可以通过 App Code 获得。

回答by Teifion

Textmateis an editor like BBEdit butit has the ability to run commands such as compilation, debugging, refactoring (though it will do so via XCode). It also has code completion.

Textmate是一个类似于 BBEdit 的编辑器,它能够运行诸如编译、调试、重构之类的命令(尽管它会通过 XCode 执行此操作)。它还具有代码完成功能。

In addition, you can write your own commands for Textmate that you can then run.

此外,您可以为 Textmate 编写自己的命令,然后可以运行。

回答by Teifion

I have been searching for something like this that does NOT run on mac for quite a few months now. Unfortunately I think that due to the relative obscurity of the Objective-C language that nobody has ever bothered producing such a full featured IDE for it. Until now, and we only have Xcode.

几个月来,我一直在寻找这样的东西,它不能在 mac 上运行。不幸的是,我认为由于 Objective-C 语言的相对晦涩,没有人会费心为其制作如此全功能的 IDE。到现在为止,我们只有 Xcode。

Using JBuilder I fell in love with the auto-completion and displaying the function 'hints' on the screen while I type. I am that sort of person who remembers the 'ideas' better than the actual syntax and really benefits from knowing right then and there that the code I typed was correct, not having to find out a minute later at compile time. And then to have to try and figure out if I just misspelled something, or if I truly made a conceptual error due to a misunderstanding of proper use of the language. Code completion and hints have always saved time on this for me.

使用 JBuilder 我爱上了自动完成并在我输入时在屏幕上显示功能“提示”。我是那种比实际语法更能记住“想法”的人,并且真正受益于当时知道我输入的代码是正确的,而不必在一分钟后在编译时找出来。然后必须尝试弄清楚我是否只是拼错了某些东西,或者我是否真的由于对正确使用语言的误解而犯了概念错误。代码完成和提示总是为我节省时间。

I know some people may look down on this and say the feature is unnecessary if you know what you're doing, but I never claimed to be better than anyone else.

我知道有些人可能会看不起这个,并说如果你知道自己在做什么,这个功能是不必要的,但我从来没有声称比其他人更好。

I may have to just give up and try and get OS X running on my PC. Which doesnt bother me in the least, just the rebooting to go back and forth to windows. I've tried to run it virtualized under VMWare but XCode kept crashing :( That reminds me I am going to google 'leopard vmware' and see if any progress has been made in that area.

我可能不得不放弃并尝试让 OS X 在我的 PC 上运行。这至少不会打扰我,只是重新启动来回 Windows。我试图在 VMWare 下虚拟化运行它,但 XCode 一直崩溃:( 这提醒我我要去谷歌 'leopard vmware' 看看在该领域是否取得了任何进展。

Another problem in designing a full code-completion system with objective C is that the syntax is a little more forgiving, I dont know the exact technical term (strongly typed?) it is much harder to say exactly what sort of object belongs in a certain parameter and ANY object can be sent ANY message whether it implements that function or not. So you can spell a function name wrong, but it doesnt necessarily mean you made a syntax error... maybe you mean to call a function of that OTHER name and you just want nothing to be done if the function is not implemented by your object.

使用目标 C 设计完整代码完成系统的另一个问题是语法更宽容,我不知道确切的技术术语(强类型?)更难确切说出某种对象属于哪种类型参数和任何对象都可以发送任何消息,无论它是否实现了该功能。因此,您可以拼写错误的函数名称,但这并不一定意味着您犯了语法错误……也许您的意思是调用具有该 OTHER 名称的函数,并且如果您的对象未实现该函数,则您只想什么都不做.

That's what I would reallylike to see for Objective-C, is an IDE that once it notices you are sending a message to an object, it displays a list of methods and function definitions that the object is knownto accept, and walks you through filling in the parameters.

这就是我真正希望在 Objective-C 中看到的,是一个 IDE,一旦它注意到您正在向对象发送消息,它就会显示该对象已知接受的方法和函数定义的列表,并引导您完成填写参数。

回答by Teifion

I think you would waste less time by sticking with Xcode rather than looking for another IDE if you want to develop for the Mac (or iPhone).

如果您想为 Mac(或 iPhone)开发,我认为坚持使用 Xcode 而不是寻找另一个 IDE 会浪费更少的时间。

Apple made a lot of effort to kill any competitor in that area to make sure any developer wanting to develop for the Mac platform use Xcode and only Xcode.

Apple 付出了很多努力来扼杀该领域的任何竞争对手,以确保任何想要为 Mac 平台进行开发的开发人员都使用 Xcode,并且只使用 Xcode。

It might not be the best IDE but it does work well and it is the IDE developers at Apple are using. Somehow it does its job. The frameworks and the documentation are very well integrated.

它可能不是最好的 IDE,但它确实运行良好,而且 Apple 的 IDE 开发人员正在使用它。不知何故,它完成了它的工作。框架和文档很好地集成在一起。

I use TextMate a lot and also SubEthaEdit but they are not full IDE as you've described above.

我经常使用 TextMate 和 SubEthaEdit,但它们不是您上面描述的完整 IDE。

Best Regards.

此致。

回答by TJez

Check out JetBrains' new IDE called "App Code". It's still in the Early Access Program, but even with the Early Access bugs it is hands-downbetter than xcode 4. I've been using it for commercial iPhone and iPad development.

查看 JetBrains 名为“App Code”的新 IDE。它仍处于抢先体验计划中,但即使存在抢先体验错误,它也比 xcode 4 好得多。我一直将它用于商业 iPhone 和 iPad 开发。

http://www.jetbrains.com/objc/

http://www.jetbrains.com/objc/

回答by BrianH

I would like to second Troy's answer and note that JetBrains has AppCode in early access, so you can try it for free. It has the familiar UI of their other products, and yes, it supports vi! So far it has been very good. I have run into a few issues, and a few vi-isms that don't work quite right, but it is still better than suffering with Xcode. I do text editing with syntax completion in AppCode, but switch back to XCode to get into the GUI builder which is actually quite good in Xcode.

我想支持 Troy 的回答,并注意到 JetBrains 有 AppCode 处于抢先体验阶段,因此您可以免费试用。它有他们其他产品熟悉的用户界面,是的,它支持 vi!到目前为止,它已经非常好。我遇到了一些问题,以及一些不太正确的 vi-isms,但它仍然比使用 Xcode 好。我在 AppCode 中使用语法完成进行文本编辑,但切换回 XCode 以进入 GUI 构建器,这在 Xcode 中实际上非常好。

If you are an old vi-guy like myself, it is invaluable.

如果你是像我一样的老vi-guy,那是无价的。

回答by Friedrich

The short answer is: No. There are thousands of IDEs but Xcode is the only one which you seriously can name IDE. I suggest you have a look at the tries of GNUStep (in form of Projectcenter, Gorm) and then you can imagine the state of affairs.

简短的回答是:不。有数千种 IDE,但 Xcode 是唯一一个您可以认真命名为 IDE 的。我建议你看看 GNUStep 的尝试(以 Projectcenter、Gorm 的形式),然后你可以想象事情的状态。

回答by mohawke

There are a few programmers text editors that support Objective-C, but I like Editra, mainly because I also write Python on Windows\Nix and it has great features. Editra runs well on all platforms and has a nice plug-in that supports Mercurial, GIT, and Subversion if you need them. Another nice thing, its written in Python. Editra Home

有少数程序员文本编辑器支持Objective-C,但我喜欢Editra,主要是因为我也在Windows\Nix 上编写Python,它有很棒的功能。Editra 在所有平台上都能很好地运行,并且有一个很好的插件,如果你需要的话,它支持 Mercurial、GIT 和 Subversion。另一件好事,它是用 Python 编写的。编辑器主页

回答by Tim

Found another, though it sounds less than ideal:

找到了另一个,虽然听起来不太理想:

ActiveDeveloper- doesn't appear to have active support (last update was in 2006). Mac only.

ActiveDeveloper- 似乎没有积极的支持(上次更新是在 2006 年)。仅限 Mac。

KDevelop sounds like it only supports Objective-C syntax and only through its C support. I'm going to check it out anyway.

KDevelop 听起来好像只支持 Objective-C 语法,而且只能通过它的 C 支持。反正我要去看看。

Textmate has a couple screencasts for Objective-C (hereand here). It is Mac only, but otherwise looks pretty good. It is hard to tell from the screencast how strong the integrated support is as it seems to just have a lot of scripts to handle the code. Also, I can't tell if it does true code completion or just expansion for snippets.

Textmate 有几个针对 Objective-C 的截屏视频(这里这里)。它仅适用于 Mac,但其他方面看起来还不错。从截屏视频中很难看出集成支持有多强大,因为它似乎只有很多脚本来处理代码。另外,我不知道它是真正的代码完成还是只是片段的扩展。

So it doesn't look like there is anything out there that hits everything. I'll probably do most of my development on Mac, so I'm thinking I'll try out TextMate with XCode to see if it is any better than straight XCode. I'll take a quick look at KDevelop.

所以看起来没有什么东西可以击中一切。我可能会在 Mac 上进行大部分开发,所以我想我会尝试使用 XCode 的 TextMate,看看它是否比直接的 XCode 更好。我将快速浏览一下 KDevelop。

Thanks.

谢谢。

回答by Loren Segal

I believe KDevelop is the only full IDE that supports Obj-C, but I'm not even sure how fully it supports it, having never used it myself. Worth a shot, maybe.

我相信 KDevelop 是唯一支持 Obj-C 的完整 IDE,但我什至不确定它支持它的程度,因为我自己从未使用过它。值得一试,也许吧。