Xcode の便利な機能(主にショートカットキー)

この記事は KainokiKaede Advent Calendar 2014 6日目の記事です(大嘘)

あるツールを使いはじめるときは次のような手順を踏むとよい。

  1. そのツールを使うための必要最低限の所作を身につける。Xcode ならば、保存・コンパイル・実行 とか。
  2. そのツールを少しのあいだ使ってみる。
  3. そのツールの便利な使い方を知る。

「便利な使い方を知る」が「使ってみる」のあとに来ている理由は、ある程度ツールを使ってみないと「何が不満か」「何が簡単にできると嬉しいか」などがわからず、便利な使い方を学んでもそれを使いこなすことができないからである。

ということで、Xcode をわりと使ってみたので、その過程で学んだ便利な使い方をまとめてみた。

ソース間の移動

  • ヘッダファイルとソースファイルとを行き来する
    • Cmd+Ctrl+↑/↓
  • 進む・戻る
    • Cmd+Ctrl+←/→

ソースの編集

  • 表示中のファイルにあるクラスなどを一覧。TODO: とかも一覧できる。
    • Ctrl+6
  • コメントアウトのトグル
    • Cmd+/ *1
  • インデントを整理
    • Ctrl+I
  • 定義にジャンプ
    • Cmd+クリック(戻るときは Cmd+Ctrl+←)
  • クイックヘルプ
    • Opt+クリック *2
  • コードの折りたたみ
    • Cmd+Opt+←/→
  • 全部折りたたみ
    • Cmd+Opt+Shift+←/→
  • 補完を表示(なんらかの原因で補完表示が消えてしまったときのために)
    • Ctrl+.
  • 関連ファイルを表示(現在のファイルやカーソル位置の関数がどのファイルに include されているか、どの関数から呼ばれているか、などが表示される。超便利。)
    • Ctrl+1 (もしくはエディタの左上の四角が4つあるボタン)

検索・置換

  • ファイル名から検索(Open quickly:Spotlight みたいなもの)
    • Cmd+Shift+O
  • 全ファイルの内容から検索
    • Cmd+Shift+F
  • 検索機能では正規表現が使える。ルーペのアイコンをクリックして “Edit Find Options” から変更する。(hoge) →\1 などのプレースホルダーも使える。
  • 全体に対して検索する場合は Cmd+Shift+F だが、それで表示されたタブの Find をクリックすると Replace (置換)に変更することができる。もしくは Cmd+Shift+Opt+F でも全体に対して置換可能。Preview もできる。正規表現も使える。
  • 全体検索の “In Project” と書かれているところをクリックすると、検索範囲を指定できる。たとえばフレームワーク本体のコードを検索範囲から外したい際は、自分で書いたコード部分のフォルダのみを選択すればそのフォルダ内のみが検索範囲となる。Search Scopes で範囲のプリセットを作成することが可能。たとえば、Classes と Resources ディレクトリ以下のファイルのみを検索対象とするには、Path matches regex ^.*([Cc]lasses|[Rr]esources).*$ とする(大文字小文字を両方書いているのは、自分のプロジェクトではなぜかファイルごとにインデクシングされている path の大文字小文字が違ったため。たぶんプロジェクトへのファイル追加時に変なことをするとこういうハメになる)。
  • ついでに、借りてきたライブラリから出る警告を抑制するには、ここ の方法を使う。要はそのサブプロジェクトの設定から “Inhibit All Warnings” を選び Yes にする。

その他

  • 左メニューのタブを切り替え
    • Cmd+数字
  • View > Version Editor (もしくは Cmd+Opt+Shift+Enter)で、過去のバージョンとの diff を見ることができる。

*1:私はこの組み合わせを全画面表示のショートカットとして使っているので、Preferences > Key Bindings の Structure > Comment Selection を Opt+/ に変更

*2:なおこのクイックヘルプは右側のペインに表示することもできる。Cmd+Opt+2 または 右側ペイン上部の ? マークをクリック