2011-12-22
■[iPhone][objective-c][appCode]AppCodeを使う時知っていると幸せになれそうな事 多分その1

AppCodeを使う時に、知っていたり、設定してあると幸せになれる事を幾つかまとめました、他にも色々あると思うけど、ぼくが幸せなヤツを。
設定画面は、Macではおきまりの「cmd+,」で開く事が出来ます。
左上のテキストボックスに適当な単語を入れて検索することが出来るので活用しましょう、左側の項目が絞られるだけではなく、左側の詳細画面も検索語句に引っかかる部分だけがハイライトされて表示されるので迷いません。
行番号を表示する
基本ですね。AppCodeではデフォルトではOffになっているのでOnにしましょう。
設定画面を開いて「line number」で検索してから、Editor→Appearanceと選択すれば、ハイライトされている該当項目が見つけられると思います。
インクリメンタルサーチにショートカットを割り当てる
インクリメンタルサーチが無いと、生命の危機を感じることがありませんか?ぼくはありませんけど、Keymapから設定することが出来るので好みのキーに割り当てましょう。
Keymapの画面で、テキストボックスに「Incremental search」と入れるとフィルタリングをかけることが出来ます。
フィルタリング後
操作名をダブルクリック
キーを入力して設定する
インクリメンタルサーチ
インクリメンタルサーチはこんな感じ、普通の検索と何が違うの?と思われるかも知れませんが、任意の場所に移動した後そのまま作業できる、という点が通常の検索と異なります。
普通の検索(cmd+f)は、正規表現を使いたい時何かに便利です。
デバッガ
Xcodeのデバッガよりも見やすくて楽だと思っています。ブレイクポイントの設定に関してはXcodeとたいして変わりません。
詳しく書こうと思ったけど今回は心が折れました。今度書きます。
Live Templates
よくあるアレです。
allocって入れてTabを叩くと.[.[ alloc] init]に展開されたりします(「.」は入りません)。設定画面の同名の項目内でデフォルトで登録されている物を確認する事が出来ます。自分でテンプレートを登録することも可能です、テンプレートエディット機能は強力で、細かい設定が可能です。
Xcodeのファイルテンプレートが使える
File→Newのメニューの中にFile from Xcode Templateという項目があるのでそれを選択すると、テンプレート選択のウィンドウが開きます。
各種ショートカットキー
補完 < Ctrl+space >
言わずと知れたアレです
クイックフィックス < Alt+enter >
警告が出たところでは取りあえずこれを押す
自動生成 < cmd+N >
オーバーライド < Ctrl+O >
オーバーライドするメソッドを選択するウィンドウを開きます。開いたウィンドウ内ではインクリメンタルサーチでメソッドを検索する事が出来ます。
Implement < Ctrl+I >
プロトコルに定義されているメソッドを表示・選択するウィンドウが開きます。主な操作は、オーバーライドメソッドのウィンドウと同一です。
クラス名指定での移動 < cmd+O >
クラス名を指定して移動することが出来ます。Shiftを加えるとファイル名を指定しての移動が可能になります。
クラスのドキュメントを開く < Ctrl+J >
ドキュメントのあるクラスであれば、このショートカットでドキュメントを開くことが出来ます。
リネーム < Shift+F6 >
変数名とか変えるアレです。
メソッドのSignatureを変更する < cmd+F6 >
コメントアウト < cmd+/ >
選択されているラインをコメントアウトします。
実行 < Ctrl+R >
作成中のアプリケーションを実行します。
デバッグ < Ctrl+D >
作成中のアプリケーションをデバッグ実行します。F8でステップオーバーします。
宣言に移動 < cmd+B >
キャレットのある位置のクラスやメソッドの宣言された場所へ移動します。
バージョン管理系 < Ctrl+V >
ウィンドウ移動系 < Ctrl+←→ > or < Ctrl+Tab > or < cmd+1~7・9 >
試してみてください。
行番号指定移動 < cmd+L >
名前の通りです。
メソッド単位での移動 < Ctrl+↑↓ >
メソッド単位で移動できます。
操作名を指定して実行 < Shift+cmd+A >
やりたいことを入力すると実行できるウィンドウが開きます。ショートカットが割り振られている操作は、操作名とあわせてショートカットキーも表示されるので便利です。最悪これだけ知っていれば、何となくやりたいことを入力してみると何とかなります。
どんなIDEも、はじめは覚えることが多いですね。
時間があればAppCodeのチュートリアルとか、使い方とか書いてみたいけど、圧倒的に時間が足りない。
いや、速さが足りない。
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さんです!





感謝です。