29
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iOSAdvent Calendar 2013

Day 18

AppCodeの地味に便利な機能

Posted at

懲りずにAppCodeの事を書きます。

言わずと知れたObjective-CのIDEであるAppCodeですが、地味に便利な機能があります。
順番に紹介していきます。

LocalizadString

LocalizedStringの管理は非常に面倒ですが、AppCodeを利用する事で幸せになれます。
ただの文字列をLocalizedしてくれる機能があるのです。
これを利用しない手はありません。

    // 補完前
    label.text = @"ほげほげ";
    
    // 補完後
    label.text = NSLocalizedString(@"AdventCalendar_Hogehoge", @"ほげほげ");

@"ほげほげ"にフォーカスを当てて⌥ + Enter > Localize the stringと入力することで補完されます。
これで各言語のLocalizable.stringsにも定義されます。

"AdventCalendar_Hogehoge" = "ほげほげ";

あとは各言語に合った文字列を定義していきましょう。
もちろんリファクタリングも可能です。
"AdventCalendar_Hogehoge"にフォーカスを当てて⇧ + F6です。

Inspect Code

Inspect Codeという機能も併用するともっと幸せになります。
これを実行すると、コードを解析した結果、イケてない箇所をリストアップしてくれます。
細かくは実際に使用してみるとわかるかと思います。

これはLocalizedしていないNSStringを抽出してくれるので、便利です。
@"%@"なども抽出してしまうので、Localizedする必要のないものもリストアップしてしまいますが・・・)

ディレクトリを選んでからも実行できるので、範囲を絞って実行することもできます。

Find Usages(⌥ + F7)

メソッドにフォーカスを当てている状態で、⌥ + F7です。
これを実行すると、メソッドの使用箇所をリストアップしてくれます。

スクリーンショット 2013-12-18 1.23.46.png

⌥ + ⌘ + ↑(↓)を押すことで、フォーカスを次/前の使用箇所に移す事ができます。
Propertyの検索にも使えるので、何かと便利な機能です。

Reformat Code(⌥ + ⌘+ L)

名前の通り、コードの自動整形を行ってくれます。
Eclipseあたりだと保存時に勝手にformatしてくれますが、AppCodeではできなさそうです。
formatterはSettings > Code Style > Objective-Cから設定可能です。
また、設定はメニューのFile > Export Settings...から出力できます。
チーム内で共有すると幸せになれるかと思います。

コミット前に一度formatをかけておく事をオススメします。

引数のNS_ENUMやBlocksの補完

以下のような状態のときにEnterを押すことで、引数から予測変換やコードの展開をしてくれます。

NS_ENUMの場合

スクリーンショット 2013-12-18 1.40.21.png

この状態でEnterを押すと、NS_ENUMの定義をリストアップしてくれます。

スクリーンショット 2013-12-18 1.37.54.png

地味に便利。

Blocksの場合

スクリーンショット 2013-12-18 1.46.43.png

この状態でEnterを押すと以下のようにコードを展開してくれます。

スクリーンショット 2013-12-18 1.47.11.png

自分でtypedefなどで定義したBlocksにも使えるので活用しましょう。

リファクタリング豆知識

メソッド名の変更と、引数の変更などが実行できます。
その際に、引数の順番を入れ替える事ができます。

こんなメソッドがあるとして、

- (void)present:(NSString *)text withParams:(NSDictionary *)params withItemId:(NSInteger)itemId;

メソッドにフォーカスを当て、⌃ + T > 2. Change Signatureを選択します。
編集用ポップアップが表示されますが、その中で引数をドラッグすることで入れ替えが可能です。

スクリーンショット 2013-12-18 2.01.08.png

ショートカットを利用するとき

↑のリファクタリング画面を見てみるとわかりますが、ボタン類のラベルに下線が入っている文字があります。
これらはショートカットのキーと対応している文字になっています。
と対応している文字を押すとショートカットが動作します。

先程のリファクタリングの場合だと、⌥ + Rを押すとリファクタリングが実行されます。
メイン画面の各ペインにも、1: Project4: Run7: Structureなどなどがあると思います。
それぞれ数字に下線が入っているので、⌥ + 数字で各ペインの開閉ができます。
Projectのペインにフォーカス当てたり、Run時に開いちゃったウィンドウ消したいときとか地味に便利です。

Watches

Debug時に特定の変数の値を確認することができます。
ブレークポイントで処理を止めている状態にこれを利用することができます。

スクリーンショット 2013-12-18 2.18.50.png

これも地味に便利です。

最後に

いかがでしたか?
最近のAppCodeはCocoapodsに対応するなどもして、便利な機能が増えています。
もっと快適にコードを書くために便利な機能を活用していきましょう。
むしろ便利な機能があったら教えて下さい!

29
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?