だるろぐ

明日できることは、今日しない。

Surface Laptop を買ったので、簡単な Diff ツールを作って公開した

f:id:daruyanagi:20170813174708j:plain

Surface Laptop がほしくなったので、近所のエディオンまでバイクをかっ飛ばして買ってきました。Windows 10 S を実機で使ってみたかったのダ!

それにしても、Windows 10 S 縛りはキツいですね。最近はストアも充実してきたのだけど、まだまだ圧倒的にアプリが足りない。でも、アレもない、コレもないと愚痴ってるだけってのもアレなので、とりあえず急場しのぎでほしかった Diff ツールをサクッと作ってみました(秀丸のは使いにくいなぁ……orz)。

f:id:daruyanagi:20170816183256p:plain

基本的に2つのテキストファイルを開いて比較し、変更箇所を色分けするだけです。フォルダーボタンを押すとファイルピッカーが現れるので、比較したいファイルを指定してください。色分けの意味は以下の通り。

  • 黄色:変更(変更された段落は薄い黄色)
  • 赤色:削除
  • 緑色:追加(挿入された段落は薄い緑色)

内部的には色のカスタマイズは打ち消し線・下線などの追加が可能になっているので、将来バージョンがでることがあれば設定画面から変更できるようになるはずです(現バージョンはテーマの変更機能のみを実装)。

f:id:daruyanagi:20170816184131p:plain

ファイルのドラッグ&ドロップも一応対応しています。ターゲットはフォルダーボタンが無難です(あとで気が付いたんだけど、バグってて他の部分ではドラッグが受け付けてもらえない)。

  • 単一ファイルの場合:ドロップしたポイントで判定して、左右どちらかで開くようになってます
  • 複数ファイルの場合:1つは左側、もう1つは右側で開くようになってます(3つ目以降は無視)

Diff のアルゴリズムは、以下から拝借しました。

d.hatena.ne.jp

ほかにも Google が作った Diff ライブラリが有名みたいです。

こっちは人間に読みやすいよう、ごちゃごちゃしてくれる機能なんかがついているようですが、行単位の比較がないのかな? 使うだけなら割と簡単でしたが。

ダウンロード

www.microsoft.com

Windows 10 Mobile でも利用できるようですが、ユーザーインターフェイスのテストをまったくしていないので、おそらく使い物にならないでしょう。