2011-12-11
■[iPhone][objective-c][appCode]XCodeからappCodeへ乗り換える8つの理由

以前、タイトルに「(数字)の理由」とか入れるとブクマが伸びると教えられましたが嘘だと思っています、happy_ryoです。
このエントリはiOS Advent Calendar 2011の11日目です。
昨日は、@watermint さんのエントリでした。
appCodeはJetBrains社が開発した、XCodeの代替IDEです。 InterfaceBuilderに対応する機能は無いので、その部分はXCode4を利用する必要があります。(JetBrainsの製品では他にIntelliJ IDEAが有名ですね。)
それでは、末広がりという事で8つの理由、はじめます。
コード補完が強力
XCodeのコード補完を「残念だ」と思ったことはありませんか? プロパティとメソッドの順番はバラバラ…。自分が定義したプロパティ/メソッドなのか、親クラスが元々持っていた物なのか…。appCodeを使えばそんな悩みとはおさらばです。コード補完を実行すると自分の定義したプロパティ→自分の定義したメソッド→親が持つプロパティ→親が持つメソッドと表示されて、迷うことがありません。
「キャメルケース補完が使えればどれだけ生産性が上がろうだろう…。」と思ったことはありませんか?appCodeなら当然キャメルケース補完が使えます、これでメソッド名を上手く思い出せなくても大丈夫です。
[]を書かなくて良い!
XCodeでを書く時、辛くありませんか?辛いですよね。ぼくは、この仕様を考えた人に、どうしてこの仕様にしたのかを日本語で小一時間説明して欲しいです。appCodeならその辛さを味わうことはありません、コード補完を確定した時点で必要な分だけが挿入されて幸せな気分を味わうことが出来ます。
Enter
↓
インスタンス変数を簡単にプロパティに出来る
インスタンス変数を定義して、ショートカット(ALT+Enter)一つで簡単にプロパティとして定義することができます、同じ作業を繰り返すのが嫌いなぼくたちにピッタリですね。
Enter
↓
クイックフィックス機能が便利
ARCが実装されて、利用頻度は減りましたが、インスタンスを生成した時にreleaseやautoreleaseを忘れていると、エディタ上で警告してくれます。それだけに留まらず、警告の出ているライン上で特定のショートカット(ALT+Enter)or警告のマークをクリックすると、releaseかautoreleaseを選択して自動で挿入すること出来るのです。
ヘッダファイルにメソッドを定義しないまま、実装ファイル側にメソッドを書いてしまっても、メソッド名のラインに警告がでて、そこからヘッダファイルにメソッドを自動で定義したり、プライベートカテゴリに定義したりすることが出来ます。
その他にも、ARCに対応していないソースコードをARCを利用したプロジェクト上で書くと、自動でARCに対応したコードにマイグレートしてくれる等、ユーザーを強力にサポートしてくれます。
リファクタリングが鬼
「メソッドに引数を一つ足すだけなのに、どうしてこんな苦労をしなくちゃいけないんだ…」と思ったことはありませんか?appCodeならGUIで引数を追加してボタンを一つ押すだけです。(ここでは関係ないですが、JavaのIDEにはじめてリファクタリング機能を実装したのはJetBrainsでした)
Shift +F6
↓
必要項目を入力して所定のボタンを押す
↓
スペルチェック機能が強力
英単語に自信はありますか?appCodeならあなたのタイポを的確に指摘してくれます。プロジェクト中のタイポを全部検索して表示する機能も…。
ローカライズが簡単
@””で文字列が定義されている所でショートカット(ALT+Enter)を叩くと、その文字列をローカライズするかどうかを聞いてくれます。
Structureウィンドが無いなんてあり得ないよねー
個人的にXCodeを使っていて一番違和感を感じるところはココでした。メソッド名や、インスタンス変数名なんかが見られるアレです。
しつこく、ALT+Enterとか書いていますが、Eclipseで言うところの「困ったらCtrl+1押しとけ」とか「Ctrl+2」押しとけって言われるアレと似たような感じです。この8つ以外にも、デバッガがXCodeより使いやすいとか、本当はObjective-Cの話とか書いた方が良いとか、コード補完とリファクタリングとデバッガだけで十分乗り換えの理由になるとか、今更ながら思っています、ぶっちゃけこのエントリを書いて後悔しているので、この後悔を胸に来年も頑張ろうと思います。
ちなみに、appCodeでは意図的にXCodeと同じプロジェクトファイルを使っていますから、ユーザーはいつでも戻りたい時にXCodeに戻る事が出来るので、取りあえず使って見ましょう。
明日は@TonnyXuさんです!















感謝です。