iOS開発では必須のXcodeですが、あまり知られていない(かもしれない?)便利機能を紹介します。
Multi-cursor editing
Optionキーを押しながらドラッグすると縦に選択できます。
縦の選択自体はMacの標準機能で、通常のNSTextViewを使っていれば対応しています。
Shift+Control+クリックでカーソルを増やすことができます。
Source code control
どの行がいつ、誰によってコミットされたのかが見れます。(メニュー:Editor→Authors)
例えばクラッシュが起きる箇所のコードが最近書き換えられたのか、昔からあるコードなのか、を調べる事ができます。
任意の過去のバージョンと比較ができます。(メニュー:View→Show Code Review)
例えば今日と一週間のコードを比べることにより、バグやクラッシュの原因の特定などに使えます。
ナビゲージョンバーをクリックするとファイルやプロパティ、メソッドの一覧が表示されますが、この状態でキー入力するとフィルタリングできます。
Symbolic breakpoint
バイナリ化されたライブラリやシステムフレームワークなどにブレークポイントを貼る事ができます。
例えば、年内にdeprecatedされるUIWebViewを使っているライブラリを検知するのに使えます。
WebKitのようなC++のライブラリでもブレークポイントを貼れます。
Debug View Hierarchy
Debug View Hierarchyはビューの階層を調べるのによく使う機能ですが、それ以外にもシステムコントロールがどのように実装されているか、などを調べるのに使えます。例えばUIDatePickerは実際に3D構造になっていることが分かります。
またSFSafariViewControllerのWKWebViewはDebug View Hierarchyでは表示されず、別プロセスで動作しているためアクセスできないことが分かります。