Xcodeには補完機能があります。僕は他のEclipseとかVisualStudioとかを知らないのでよく知りませんが今時なIDEなら当たり前ですよね。折角ある機能なのでガンガン使って楽したいです。
使ってみる その1
適当なファイルとかの.mファイルの適当なメソッド内で
nsst
と打ったら
こんな感じにキャレットの後ろに補完されます。
これでOKならTABキーを押すとその補完を採用できます。
[NSString stringWithFormat:@"Test %@", str];
と入力したいとすると
[NSString
までは先ほどの補完でサクッと入力できます。
stringWithFormat:メソッドを入力するとき
この状態になるので一旦TAB。
その後に
wi
と打鍵すると
こうなるのでもう一回TAB。
stringWithまで入力出来ている状態でさらに
F
を打鍵してまたTABを押すと引数が選択された状態になるのでそのまま@"Test %@"とか続きを打っていけばOKです。
使ってみる その2
TABキーを何回も打鍵するのが嫌な人はstrくらい打鍵した状態でESCキーを押せばメニューが開くのでその中の一覧からカーソルキーで選択する手もあります。
カーソルキーを使うのが嫌だと言う方はstrくらいまで入力した後にCtrl+. (ドット)を押すと何かが補完されます。そのメソッドが目的のメソッドじゃない場合はそれがでるまでCtrl+. を連打する方法もありです。
[NSDictionary dictionaryWithObject:@"test" forKey:@"testKey"];
ここでObjectを入力した後にKeyを入力したいですよね。
カーソルキーとかで移動してもいいですが、Ctrl+/ で次のプレースホルダ(引数部分)にひとっ飛びできます。
このショートカットキーを使えば引数が多いようなメソッドの入力も楽できます。
使ってみる その3
Xcodeの補完にはこれまでに書いたように自動的に表示される候補を元に入力していく意外にも
あらかじめ設定されたキーワードを入力し、補完実行することで一発で入力出来る機能もあります。
今までのやり方だと,数文字入力してTABキーまた数文字してTABキーを押さないといけなかったり、ちょうど良い位置に区切りが来ない場合があったりします。
例えば、NSMutableDictionary と入力したい場合には
nsmd
と入力した後にCtrl+. か ESCキーを押すと簡単に入力できます。
他にも
a
だけ入力してCtrl+.を押すと一気にここまで入力出来ます。
@implementation と @end の間でメソッド外のところで
init
init - iniit Definition
というのがあります。ここでReturnを押すと一気にここまでやっちゃってくれます。
楽ですよね。
これらの補完の一部は メニュー>編集>テキストマクロを挿入 で見られますが全てはどこに定義されているかというと
/Developer/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources/ObjectiveC.xctxtmacro
階層深いですよね。
ObjectiveC.xctxtmacroはplist形式です。
このファイルのCompletionPrefixとして定義されている文字列が補完のキーワードとなります。
このあたりはこちらのブログが詳しく書かれているのでそちらを参考にしてみて下さい。
ということで
自分でよく使うものが既存のテキストマクロに定義されているかどうか確認してみたり、もしなければ自分で定義してどんどん楽しましょう。