Macの高機能diffツール「Kaleidoscope」

神戸業務ハッカーのTDに、Kaleidoscopeを勧められてドハマりしました。
今までdiffツールはXCodeに付属のFileMergeを使っていたのですが、それより遥かに使いやすく、デザインも良いです。
FileMergeは単純に差分を見るだけにしか使わなかったので、「まあ、最低限の差分機能が使えればいいしこれで十分だろう」と思っていました。
しかし、FileMergeだとデザインが微妙な上、差分がある行が詰まっていくので見にくくなってしまいます。
また、KaleidoscopeをGitのコンフリクト解消時に使用するとかなり使いやすいです(FileMergeも使用可能だけど、前述の通り使いにくいため、慎重な作業であるコンフリクト解消に使うのは少し怖い)。
Kaleidoscope

ダウンロードは公式サイトから購入してダウンロードする方法と、MacApp Storeから購入してダウンロードする方法がありますが、公式サイトからのダウンロードをオススメします。
公式サイトからダウンロードする場合は、フリートライアルも可能です。
Kaleidoscopeの使い方
使い方はKaleidoscopeを開いて、「Drag Files Here to Compare」と書かれたウインドウに2つのファイルをドラッグアンドドロップするだけです。

ドラッグできるファイルの種類は下記の通り
- フォルダ
- テキストファイル
- 画像
フォルダを選ぶとフォルダ内で差分が表示されます。
差分時の色はデフォルトだと下記のようになっています。
| 色 | 意味 |
|---|---|
| 緑色 | 追加されたファイル・フォルダ |
| 赤色 | 削除されたファイル・フォルダ |
| 紫色 | 変更されたファイル・フォルダ |

ファイルを選択して、下メニューのファイルの移動アイコンをクリックして「Copy」を押すとファイルのコピーができます。
ちなみにフォルダ階層の中に入る場合は、別タブとして開かれていくので、戻りたいときはタブを閉じる(command + W)で元の階層へ戻れます。
コードの場合も同様で、変更があった箇所が分かりやすくハイライトされています。

画像の差分があった場合には画像を重ねて見比べることもできます。

Kaleidoscopeの設定
Kaleidoscopeの[Preferences]では、ファイルの種類ごとの表示に関する設定ができます。
Images
[Images]では画像を比較したときの表示設定をします。
![Kaleidoscope[images]](https://webrandum.net/mskz/wp-content/uploads/2019/11/image_6-1-760x1024.png)
| 項目 | 設定内容 |
|---|---|
| Image Navigator | Show Automatically:イメージナビゲーターを自動的に表示 Never Show:イメージナビゲーターを非表示 |
| Background Color | 背景色の設定 |
| Transparency Rendition | 透明部分の表現の設定 |
| Difference Rendition | 変更箇所のピクセルが強調表示される設定 Absolute:ハイライトの強度が一律になる Proportional:ハイライトの強度がピクセルの変化に比例する |
| Difference Coloring | 変更箇所の差分の色 |
Text
[Text]では普通のテキストファイルを比較したときの表示設定をします。
![Kaleidoscope[Text]](https://webrandum.net/mskz/wp-content/uploads/2019/11/image_7-1.png)
| 項目 | 設定内容 |
|---|---|
| Background Color | 背景色を「Light(白)」にするか「Dark(黒)」にするかの設定 |
| Difference Coloring | 変更した部分の表示色設定 Multicolored:「追加」「変更」「削除」で色が分かれる Single Color:変更箇所の色が全て1色になる |
| Font | テキストファイル内のフォント指定 |
| Layout | 長い行を折り返すようになる |
| Whitespace | 空白の違いを無視(タブとスペース)するようになる |
Folders
[Folders]ではフォルダを比較したときの表示設定をします。
![Kaleidoscope[Folders]](https://webrandum.net/mskz/wp-content/uploads/2019/11/image_8-1.png)
| 項目 | 設定内容 |
|---|---|
| Hidden Files | 不可視ファイルも表示して比較する |
| Copy Files | ファイルコピー時にポップアップを表示する |


Client Folder Makerでよく使うフォルダ構成を一気に作成する
macOSのシステム環境設定「Mission Control」の設定見直し
Keyboard Maestroの「Click at Found Image」で画像と一致する場所をクリックするマクロの作り方
Hazelを使ってMacのファイル整理を自動化する
Drive File Streamで接続しているGoogle Drive内の検索をするAlfred Workflowの作成方法
BacklogのURLパラメータを、Keyboard Maestroのタイムスタンプ機能を使って生成してリンクを開く方法
ウェブのGoogle Drive上でコピーアンドペーストのショートカットキーが使えるように!
Search Consoleのカバレッジで「送信された URL に noindex タグが追加されています」と表示された時の対処法
面倒なことを解消するアプリの細かい設定 #1日1Tips – 2019年11月
ユニバーサルクリップボードで複数のAppleデバイス間でクリップボードを共有する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
AlfredでDropbox Paperの検索ができるWorkflow「Dropbox Paper Finder」
テキストエディタをAtomからVisual Studio Codeに移行しました
CSSやJavaScriptでスクロールバーの横幅を取得する方法
Local by FlywheelでWordPressのローカル開発環境構築のハードルが一気に下がる
Facebookでシェアした記事の画像反映ができていない時の修正方法
ATOKに「短縮読み」の単語を登録して、よく使うフレーズを一瞬で入力する
Route 53のルーティングポリシーまとめ(位置情報ルーティングと地理的近接性ルーティングの違いは?)
Figmaでサクッとワイヤーフレームが作れる素材検索プラグイン「Wireframe」
Keyboard MaestroでGoogle Chromeのタブグループ化にショートカットキーを割り当てておく
何でもEvernoteに保存したい僕のEvernoteの使い方