2009-06-15 18 views
5

私はXcodeが良いIDEだと思いますが、過去にJava開発用にEclipseを使用していたのですが、私はXCodeのコード補完とエラー/警告のフィードバックにかなり不満を持っていました。 (たいていの場合、Xcodeは、同じ文書内のテキスト断片の先頭を「単語」に一致させようとしているだけで、提案された完了の妥当性を判断しようとするタイプ情報を使用しなくても大丈夫です。誰もがXcodeをEclipseの巧みさに近づけるためのアイデアやトリックを持っているか、XCode以外のIDEを使ってCocoaアプリケーションを現実的に開発するのか?非XCode IDE for Cocoa?

EDIT:code.google.com/p/objectiveclipse/

+3

ありiPhone用Xcodeのための代替手段について同様の質問がありますが、そこに恋するベーカリーApp StoreはXcodeでビルドされていないアプリケーションを使用しないという事実によって実現されます。 –

+0

どのIDEを使ってアプリケーションをビルドしたかを確実に判断する方法はありますか? – Felixyz

+0

このトピックに興味のある人には、Accessorizerユーティリティへのリンクを含めます。これは、Xcodeがスマートになるのを助けるために少し役立ちます:www.kevincallahan.org/software/accessorizer.html – Felixyz

答えて

7

良いニュースは、Appleが問題に取り組んでいることです。 clangコンパイラプロジェクトの目標の1つは、より良いコード補完とリファクタリングのサポートに使用できる再利用可能なパーサを作成することです。これは、最新のSnow Leopardの種子で果実を生み出していることを示しています。

+0

クラングは美しく美しいものです。 WWDCのコンパイラセクションは、ほとんど私たちを涙にしました。少なくとも拍手が多い。 –

+0

ああ、そうです。私はclangについて読んだが、忘れてしまった。興味がある人のために、興味深い背景があります: http://etoileos.com/news/archive/2009/03/31/1640/ これは、Apple以外のObjective-C/NS由来のコーディングは生きていて蹴ります。これはSOの別の場所で議論されています: http://stackoverflow.com/questions/874690/is-objective-c-only-used-for-development-on-mac-os-iphone – Felixyz

+0

LLVMとClangのAppleの目標それらのうちのいくつかは長期間)は、ほとんど全ての場合にGCCを完全に置き換えることを含む。モジュラー設計では、プラグイン可能なフロントエンド(Clangはその1つ)が可能になり、解析と最適化およびコード生成を完全に切り離すことができます。勢いを見るのはすばらしいことです。それはすべてオープンソースだということがさらに優れているという事実です。 –

1

のemacsおよび/またはvimのを私は確かにあなたの痛みを感じている

+0

および/またはTextMateおよび/またはKDevelopまたは[誰かのお気に入りのエディタ]をクリックします。うん...しかし、特定のエディタ/ IDEの推奨される使用方法はどうですか? – Felixyz

+0

私は見て、emacs/vim愛好家はそのような主張をバックアップする*愛*でしょう。予測コンパイルだけでなく、コード(真)の完了もありません。テキストエディタは、GUIが最終的に消え去るような流行だと思う人だけがIDEと見なします。 KDevelopは実際にはIDE(KDE用)ですが、高度なコンパイル機能はもちろん、Objective-Cもほとんどサポートしていません。 –

+0

@Quinn私はあなたにキーボードショートカット、マクロ、プラグインの洪水でemacs/vimのエキスパート(私ではない)と会いに行きたいと思っています。彼らがプログラミングを賢明にしていることが分かっていたとすれば、emacs/vimのエキスパートが典型的なIDEの周りをマウスでクリックするとコードすることができると確信しています。 :-P しかし、私はLynxの代わりにFirefoxを楽しんでいます。 – samoz

2

- 経験豊富なJava開発者と頻繁にEclipseのユーザーとして、私が望んました:これに目を光らせ・ワース同じ機能を自分自身。残念ながら、私は法案に適合する何も認識していない。 this SO questionに満足のいく解決策があるとは思わない。

しかし、私はあなたがSnow Leopardで提供されるXcodeコード補完の改善に非常に満足していると思います。可能な補完のリストをフィルタリングすることは非常にスマートです。また、忘れたときに開始括弧を挿入するなど、コーディングのための新しい便利さがあります。私の知る限り、Eclipseのような予測コンパイルはまだありません。

予測コンパイルと警告/エラーレポートをサポートするEclipse以外のIDEについて知っている人はいますか? Eclipse自体は、C++のようなJava以外の言語の機能をサポートしていますか?私は、Javaが.hと.c/.cpp/.mファイルではなく独立した.javaファイルで構築されているという事実が、予測的にコンパイルするのが簡単になるかどうか疑問に思っています。また、gccでコンパイルされたものは、比較的簡単なjavacコマンドよりも注意と注意が必要です。何かご意見は?

+1

XCodeは、ビルドのパフォーマンスを向上させるための予測コンパイルを行います。それは、それが収集する情報を非常にうまく利用していないだけです。 javac以外のgccコンパイルには特別な注意が必要だとは思いません。それぞれの.oは独立してコンパイルされているので、予測コンパイル時には何も特別なことはありません。 –

+1

私は、Objective-CよりもJavaを本質的に予測しやすいようにすることができるかどうかについても考えていましたが、実際に何も考えることはできません(もちろん、ObjCコードタイプセーフティ)。 Ahrumanが示唆したように、Clangについて読むことは、より多くの文脈を提供する。 – Felixyz

+1

非常に真です。とにかくXcodeはすでにgccコマンドを生成しています。この問題の一部はgcc自体であり、GPLの下にあり、Xcodeのオープンソース自体を作成することなくAppleが本当にシームレスに統合することを制限しているようだ。あなたが本当に気にしているのは、Objective-Cの文脈における正しさであり、Javaやその他の言語では正しいものではないからです。 Clangが主流になり、最終的にはXcodeのgccに取って代わり、次のような機能が表示されると思います。 (その日のために願っています...) –

5

かなり単純に:いいえ。

お気に入りのテキストエディタを使ってほとんどすべてを手作業で行うことができますが、それはすべてではありません。 Interface Builderを使わずにインタフェースを設計してみてください。

私のアドバイスは、Xcodeに固執し、そのやり方を学ぶことです。はい、それは異なるでしょうし、時にはあなたの波型の目で "より良い"かもしれません。 AppleがXcodeを使用していくつかのすばらしい製品をリリースしたという事実であなた自身を見てください。

私の個人的な経験は、私がXcodeを使うたびに、私は自分のバッグに加えることができる新しいトリックを見つけることです。 Xcodeは、最初の(または2番目の)一見で考えるよりもはるかにフル機能です。

+0

年が経つにつれて機能が着実に追加されていることに気付きました。私が嫉妬しているEclipse、VisualStudioなどの機能はまだありますが、Xcodeでそれらを見ることを望みます。つまり、Xcodeが他のIDEを吹き飛ばす領域もあります。 EclipseのAchillesのヒールは、おそらくプロジェクトやワークスペースを作成し管理しています。それは画面の不動産の驚異的な塊であり、プラグインはしばしばコントロールできません。 VSを定期的に使用して詳細を選択することはありませんでしたが、ソリューション/プロジェクトの設定は、私がそれを使用したときに確かに混乱していました。 –

+1

私はEclipseについて同意します:コアの機能を超えて何かを使用しようとすると、私は挫折しました。 AptanaのRadRailsのように...それは悪夢だった。私はSCMの統合がEclipseで正しく機能するようにすることにも問題がありました。しかし、それが輝く場所は、確かに基準を定めています。 – Felixyz

+0

私はかつてEclipseをインストールしてRuby on Rails開発に使用しようとしました。もう一度、決して。それは完全な悪夢であり、私は人生の多くの日を無駄にしてそれを働かそうとしました。遅く、扱いにくく、恐ろしく見えて、プラグインはセットアップにひどいものでした。 –

2

私は長い間、私のrants about what's wrong with Xcodeを声明しました(そして、Xcodeには何が間違っていますか)。しかし、あなたは本当に別のツールを使いたくありません。そして、NDAを破ることなく、Xcode 3.2 with SnowLeopard:Hooray。 (私たちが持っているものと比較して、私たちが望むものと比較して)

つまり、コード補完についての私の質問には、私は個人的にオンデマンド補完のために自動補完をオフにします。私はそれがはるかに有用で、気を散らすことが少ないことがわかりますCode Senseパネルで、 "Automatically Suggest"を "Never"に設定し、他の2つのオプションが選択されていることを確認します( "引数をポップアップリストに表示する"と "引数のプレースホルダを挿入...")。ポップアップボックスでEscapeを押すと、目的のものを探すのがスクロールしやすくなります。私は、このように多くの文字を入力する必要があることがわかりました。 80%の時間で、それはすでに正しいことを強調しています。

0

Xcodeはコンテキストを認識していますが、オブジェクトにメッセージを送信するときには、一般に「ESC」リストが意味のある引数を引き出します。

テキストマクロを調べることを強くおすすめします。これらは実際にタイプを認識しているわけではありませんが、例えば、@implementation type "init"の後に、大量のタイピングを保存してから、controlを押します。 (ピリオド)を使用してテキストマクロをアクティブにします。それはあなたのためのinitメソッド全体を記入します。独自のマクロを作成することも、既存のマクロを上書きすることもできます。

2

「App Code」というJetBrainsの新しいIDEをチェックしてください。これは、アーリーアクセスプログラムではまだだが、それでもアーリーアクセスのバグでそれはXcodeのよりハンズダウン優れている4.

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