🏂

今日から使いたくなるXcodeの便利機能

2024/12/16に公開

これは Livesense Advent Calendar 2024 DAY 16 の記事です。

リブセンスでマッハバイトのiOSエンジニアをしている伊原です。

iOSアプリの開発をしていると1日の中でXcodeに触れている時間が長くなりがちです。
そこで今回は、私がXcodeを長時間快適に使用する上で工夫していることをまとめてみました。

実行環境

Xcode 16.1
macOS Sonoma 14.5

ブックマークの活用例

Xcode 15からブックマーク機能を使える様になりました。
ブックマークの使い方は色々ありますが、私の場合は頻繁に参照・更新するファイルをブックマークで登録する様にしています。

また特定の機能の開発を行う時に、変更対象のファイルや動作確認時によく値を書き換える場所等をあらかじめ登録しておくと、ファイル名を検索する機会がグッと減るのでオススメです。

一見地味なことに思えますが、長時間作業をする場合は疲れにくくなります。

行をブックマークに登録する場合はファイルに変更が入った時に位置がずれてしまうので、その点は注意が必要です。

あまり知られていない便利なショートカット

Xcodeの基本的なショートカットについては、既にたくさんの記事が書かれているのでここでは紹介しませんが、私の使用頻度が多いかつあまり知られていなさそうなショートカットを集めてみました。

Human Interface Guidelinesを開く

command + shift + H
Xcodeでこのコマンドを入力するとHuman Interface Guidelinesがブラウザで開かれます。

https://developer.apple.com/design/human-interface-guidelines/

Appleのドキュメントを開く

control + option + command + M
以下はViewにカーソルを当てた状態でショートカットを入力した時の表示です。Viewのドキュメントが表示されています。

エラーの詳細をまとめて表示/非表示

control + command + L
1つずつエラーをクリックするのが面倒なので、このショートカットでまとめて表示させています。

Fixボタンで修正可能なエラーをまとめて修正

control + option + command + F
以下の様なFixボタンが表示されているエラーであれば、ファイル内のエラーをこのコマンドでまとめて自動修正できます。

SwiftUIのプレビューを表示/非表示

option + command + return
横幅を広く使いたい場合にプレビューを一時的に非表示にするとコードがとても見やすくなります。

command + 0
こちらも横幅を広く使いたい時に便利なショートカットです。

Utility Area(右側のエリア)を表示/非表示

command + option + 0
右側のエリアを非表示にしたい場合はこちらのショートカットを使います。

メソッドにコメントを追加

option + command + /
引数を自動で出力してくれます。

現在開いているタブ以外をまとめて閉じる

ショートカットではないですが、optionを押しながら任意のタブを閉じると現在開いているタブ以外を全て閉じられます。タブが溜まってきたら使うと便利です。

ビルドやテスト実行時の振る舞い

XcodeのSettings(command + ,で開きます)からビルドやテストを実行した時の振る舞いを設定することが出来ます。これらの設定はBehaviorsタブから行います。

ビルドやテストの成功・失敗時に音を鳴らす

上の画像の赤色の枠で囲ったPlay soundから任意の音を設定できます。
シチュエーションごとにそれぞれ別の音を設定しておくと区別ができるのでオススメです。

ビルドやテストの実行時間が長い場合に、コーヒーを淹れたりチャットを返したり、他の作業を行いつつ実行が完了したらすぐに気付ける非常に便利な機能です。まだ設定していないという方はぜひ設定してみてください。

ビルドやテストの成功・失敗時に特定のnavigatorを開く

上の画像の緑色の枠で囲った部分を変更すると、特定のシチュエーションで指定したnavigatorを開いてくれます。

例えば、ビルド失敗時に自動でissuesタブに切り替わる様にしておくことも出来ます。こうすることで毎回マウスでクリックしてissuesタブを開く必要がなくなります。

ちょっとした機能なのですが、積み重なると結構楽になります。

GitHub Copilot for Xcodeの導入

Xcode自体の機能ではありませんが、最近導入して良かったGitHub Copilot for Xcodeについても紹介します。

https://github.com/github/CopilotForXcode

しばらく使用してみましたが、コード補完が優秀で、特にswitch文など複数のパターンで似た処理を繰り返し書きたいケースでは精度高く補完がされている印象でした。もちろん精度は完璧ではないですが、コード補完に任せられる部分があると開発が楽になります。

導入自体も簡単なので、まだ入れていない方はぜひ入れてみてください。

おまけ: Xcode 16から使える便利機能

Xcode 16から使える様になった機能についても紹介します。

カット&ペーストでのファイル新規作成

structやclass等のコード全体を選択した状態でcommand + Xで切り取り、Navigator Area(左側のエリア)の任意の場所に貼り付けると、新規のファイルとして切り出すことが出来ます。

上記のケースで言えば、Hogeという名前のstructが別ファイルとして新規作成され、切り取ったコードが作成されたファイル内に展開されます、

さいごに

最近よく使っている機能を中心にXcodeのTipsを紹介してみました。
1つでも「使ってみたい!」と思える内容があればうれしいです。

iOSアプリ開発をずっとやっていますが、まだまだ知らない機能はたくさんありそうです。
この記事を読んでくれた方で他にも便利な機能を知っている方がいたら、ぜひ教えてください!

Livesense Engineers

Discussion