Xcodeでよく使うショートカットや操作まとめ
自分が業務や個人開発でXcodeを扱うにあたって頻繁に使うショートカットや操作について、備忘録も兼ねてこの記事では紹介します
基本的なショートカット
Cmd + R
ビルドしてランします
Cmd + U
テストを実行します
Cmd + Shift + K
クリーンします
過去のビルドによって成されたファイル群を削除してまっさらな状態にしてくれます
何かしら不明なエラーに直面した場合に試しに実行したりします
Cmd + N
新規ファイルを作成します
Cmd + Shift + O
検索ウィンドウが開くので、ファイル名を入力して該当ファイルを開きます

Cmd + Shift + F
プロジェクト内から文字列を検索します

そのまま左上の Find を Replace にして文字列置換を行うこともできます
( Cmd + Shift + Alt + F で最初からReplaceにすることも可能)

Cmd + F
ファイル内で文字列を検索します
こちらでも Find を Replace にして文字列置換を行うこともできます
( Cmd + Alt + F で最初からReplaceにすることも可能)

Cmd + Shift + J
現在開いているファイルをProject Navigatorで選択します

Ctrl + I
範囲選択されたインデントを揃えます

(シミュレータ起動時に) Cmd + S
シミュレータのスクリーンショットを保存します
この際、デフォルトの保存先はデスクトップになっているので、 Cmd + Alt S をすると以下のように保存先を変更できるので、早めにやっておきましょう

(シミュレータ起動時に) Cmd + R
シミュレータの画面を録画します
Actions
Cmd + Click でメソッドや構造体を選択すると、以下のようにアクションが表示されます

いくつか便利なアクションについて紹介します
Callers
定義されたメソッドを呼び出している箇所を表示してくれます

Jump to Definition
使用しているメソッドや構造体が定義されている箇所を表示してくれます

Caller や Jump to Definition とセットでよく使うショートカットとして Cmd + Ctrl + ← or → を覚えておくと便利です
前後に表示していたファイル, 箇所にジャンプできます

Rename
使用されている箇所すべてをRenameしてくれます

マルチカーソル
Alt を押しながら範囲選択 or Ctrl + Shift + 矢印キー でマルチカーソル操作が可能です
操作に慣れていれば以下のようにクラスのイニシャライザの実装などかなり効率化できます

CLI操作
Xcodeを開く
xed .
開きたいProjectのあるディレクトリに移動して上記コマンドを実行すると、そのProjectをXcodeで開くことができます
GUI操作
画面分割

右上の画面分割アイコンをクリックすると、Editor Areaを水平/垂直に分割してくれます
水平/垂直を切り替えたい場合は Alt キーを押しながらアイコンをクリックします

タブ操作
Xcodeではファイルを次々に開いていくと、あるファイルはタブに残り続け、あるファイルはすぐにタブから消えたりします
残り続けるタブを Permanent Tab 、すぐに消えるタブを Temporary Tab とここでは命名します
Temporary TabはタブのフォントがItalicになっています

Temporary TabをPermanent Tabに変換する方法は以下の4つがあります
-
Project Navigatorでファイルをダブルクリックする - タブをダブルクリックする
- タブを右クリックをして
Keep Openを選択する - Temporary Tabで開いたファイルに何かしら書き込みを行う
詳しくは https://holyswift.app/permanent-and-temporary-tabs-in-xcode をご参照ください
タブ関連のショートカットですが、
Cmd + Shift + [ or ] で左右に移動できます
Cmd + W でタブを閉じれます
Break Point
特定の行番号をクリックすることで Break Point を仕込むことができます (ドラッグ&ドロップで外すことができます)
アプリ実行時に該当行に処理が到達すると実行を停止し、その時点での変数の状態などを検査することができます

詳しくは https://developer.apple.com/documentation/xcode/setting-breakpoints-to-pause-your-running-app をご参照ください
View Hierarchy

上記アイコンをアプリ実行時にクリックすると、その時点で表示されているViewの階層を細かく表示することができます

詳しくは https://qiita.com/akatsuki174/items/45d4bd7cb150defbf116 をご参照ください
Debug Memory Graph

上記アイコンをアプリ実行中にクリックすると、その時点で発生しているメモリリークを検出したりすることができます

詳しくは https://developer.apple.com/documentation/xcode/gathering-information-about-memory-use をご参照ください
Network Link Conditioner
Network Link Conditioner というAppleのDeveloper Tool (ダウンロードする必要あり) を使用して、Mac上で動かすシミュレータの帯域を絞って動作確認を行うことができます

詳しくは https://dev.classmethod.jp/articles/network-link-conditioner/ をご参照ください
やっておくとよい設定
空行のスペースを自動で取り除く
SwiftLint を導入している場合、空行にスペースが残っていたらwarningが出てしまいます
そのスペースを自動で取り除いてくれる設定がXcodeにはあるのでオンにしておきましょう

ペーストした時にインデントを自動で揃えてもらう
便利なのでオンにしておきましょう

最後に
「自分は他にもこういったショートカットや操作をよくしている!」という人がいたらコメントいただけると嬉しいです
随時この資料は更新していければなと思います
Discussion
ご存知かもですが、
「Cmd + (Shift) + option + F」
で検索&置換ウィンドウになります 👍
おお、知りませんでした!
ありがたく追記させていただきました 🙏