XcodeのFileMerge機能を使って2つのファイル差分を確認する

今まで知らなかったのですが、XcodeにFileMergeという、2つのファイルの中身を比べる機能がありました。
ちょっとした差分の確認であれば、この機能で十分できそうだったので、今回はFileMergeに関してまとめておきます。
FileMergeの表示方法
Xcodeの[Open Developer Tool]→[FileMerge]から開けます。

Alfredを使っている人であれば、「FileMerge」で検索すれば直接開けます。こっちのほうが早いですね。

FileMergeの使い方
ファイルの選択
FileMergeを開くと、ファイルを選択する画面が表示されます。
左のボタンからファイルを選択してもいいですし、真ん中にパスを貼り付けてもいいですし、右の枠にファイルをドラッグしても構いません。

2つファイルを選択すると、右下の「Compare」ボタンが押せるようになるので、クリックします。
差分の確認
「Compare」をクリックすると、ファイルの差分画面が表示されます。
変更のある行が灰色に、追加された文字は水色になります。
ちょっとしたファイル差分の確認であれば、この機能で十分そうです。

ファイルのマージ機能
右下の「Actions」からアクションを選択すると、ファイルの差分を調整して新しいファイルを作れたりします。

| Actions | 内容 |
|---|---|
| Choose left | 左のファイルを使用(左のファイルを右のファイルに上書きする) |
| Choose right | 右のファイルを使用(右のファイルに左のファイルを上書きする) |
| Choose both (left first) | 変更がある行を両方使用(ただし、左のファイルの方が上の行になる) |
| Choose both (right first) | 変更がある行を両方使用(ただし、右のファイルの方が上の行になる) |
| Choose neither | 変更のある行は削除 |
両方の変更を使用する「Choose both」は割と使えそうですね。
ターミナルから起動
下記コマンドで、ターミナルからFileMergeを起動できます。
$ opendiff ファイルパス ファイルパス

Visual Studio CodeでIllustratorのスクリプトを書く時に便利な拡張機能「ExtendScript Debugger」
Path Finder 9.3.5のアップデート内容はラベル・タグ周りの修正!そしていつの間にかカラーラベルのカスタマイズが可能に!
Keyboard Maestroのバージョン9.0がリリース!ダークモード対応やJSON関連のアクションが追加
Jedit Ωに「別名で保存」のショートカットキーを割り当てる方法
ATOK Passport / ATOK for Macで日々の文字入力をラクにする
SourceTreeでURLからクローンするときに自動で入力される「保存先のパス」を変更する方法
Gmailでよく使う文章をテンプレートとして保存・使用する方法
Markdownで画像を表示する時はGyazoを使うのが便利
Keyboard Maestroでfnを使ったショートカットキーを設定したい場合は、BetterTouchToolを経由するのがオススメ
anyenvを使ってプログラミング言語のバージョンをラクに管理する
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Sketchの図形周りの基本操作|図形の作成方法から描画に関する細かい部分まで
BetterTouchToolでトラックパッドの端っこのクリックを無効化して、手が軽く触れることによる誤操作を防止する
クリップボード履歴を管理しよう!
JavaScriptで特定のOSやブラウザの判定を行う方法
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
サーバーのアップロードファイルの最大容量の確認と変更方法
Figmaでデザインデータを整理するときに役立つプラグイン「Clean Document」
Alfredで複数のアプリケーションを一気に起動できるようにする
ダミーとして使うURLは適当に入力せず、決まったものを使うようにしよう
BetterTouchToolのライセンス・料金まとめ(BetterSnapToolやBTT Remoteによる無料ライセンス)