TextCompare

TextCompareは2つのテキストファイルを比較し差部分をハイライト表示します。

特にプログラム・ソースを比較するのに適しています。
強制ペア行を設定する事により、モジュールの移動やモジュール名が変更されている場合でも、適切な比較処理が可能です。

TextCompare

はじめに

開発中プログラム・ソースをバックアップ・ソースと比較して修正箇所の把握をする場合等に使用します。
開発中プログラム・ソース(新ソース)を基準に、バックアップ・ソース(旧ソース)に不足する部分を「挿入」、 新ソースに不足する部分を「削除」、一部の違いのあるペア行を「近似」としてそれぞれ色分けして表現します。
単純に行同士を比較して行くと不適切な行同志のペアが発生し混とんとした結果となる為、 本ツールでは独自(一般的かもしれませんが)のアルゴリズムを使用し対応しています。
また、プログラムの場合モジュール単位の移動やモジュール名の変更等が頻繁に行われますが、 そのケースでも本来一致する部分がペアとならず意味のない結果となってしまいます。 本ツールでは移動及び変更された行同志を手動でペア設定する事で対応できます。
(プログラム言語毎のモジュールブロックを意識すればよい話ですが、それは今後の課題とします)

適用例

TextCompare起動

java -jar TextCompare.jar ログファイル文字コード 新ソースDir 旧ソースDir

ログファイル文字コード:MS932(省略時)、SJISUTF-8 が指定可能

新ソースDir : 新ソースのディレクトリー(省略可)

旧ソースDir : 旧ソースのディレクトリー(省略時新ソースディレクトリーと同じ)

起動直後の画面

起動直後の画面

NewFile(新ソース)及びOldFile(旧ソース)の参照ボタンによりそれぞれファイルを選択し、「実行」ボタンをクリックする。


画面及び操作の説明

画面の説明

①新ソース・ファイル設定・・参照ボタンにてファイルを選択

②旧ソース・ファイル設定・・参照ボタンにてファイルを選択

③実行ボタン・・新旧ソースを比較

④比較結果・・比較結果サマリーを表示

 挿入:旧ソースに不足行数

 削除:新ソースに不足行数

 近似:近い内容と判断された行数

 一致:一致(*)した行数

  *一致・・連続するスペース・タブは無視して比較

検索バー

 左側のボタン・・新ソースに対し戻る方向にテキストを検索

 左側のボタン・・新ソースに対し進む方向にテキストを検索

 テキスト   ・・検索テキスト

 右側のボタン・・旧ソースに対し戻る方向にテキストを検索

 右側のボタン・・旧ソースに対し進む方向にテキストを検索

ペア行設定ボタン

 新旧の選択されている行番号をペア行として追加

 ペア行は最大10個まで設定可能

⑦新ソース・・挿入された行は青文字 近似行で異なる部分は赤文字

⑧旧ソース・・削除された行は灰色文字 近似行で異なる部分は赤文字
 ⑦⑧共通 セルに表示しきれない場合末尾に「..」を付加し、マウスをポイントする事で全体をToolTip表示

⑨マーク
  =:一致行
  ≒:一致行(連続するスペース・タブの数が異なる)
  <>:近似行(一部分の違いはあるが大半は同一)
  P:ペア設定行
  I:挿入行
  D:削除行

⑩ペア行検索
 ペア行設定の支援機能として、ソース行を指定して相手ソース中から同様テキストを検索。
 新旧どちらかのソース行上で右クリック、ポップアップメニュー「ペア行検索」をクリックすると、 相手側ソース中の同様テキスト(スペース・タブ数無視)を検索し、存在したら該当行を選択状態にする。
 それぞれの行番号欄を選択状態にして「ペア行設定」ボタンでペア行設定。