Diffフォーマッター
フォーマットされたハイライトとサイドバイサイドビューによるテキストとコードの差分比較
元のテキスト
変更後のテキスト
差分結果
ヒント
- より正確な行ごとの比較のために、両方のテキストで一貫したインデントを使用してください。
- 統一ビューは小さな変更に最適です。サイドバイサイドは大きな差異に適しています。
- 追加 削除 変更
- スワップボタンを使用して比較方向を反転し、追加を削除として確認できます。
- Ctrl/Cmd + Enter でどちらの入力からでも比較を実行できます。
自動的に選択される2つの差分モード
Data Diff は貼り付けた内容に応じて動作します。両側がJSONとしてパースできれば構造差分に切り替わり、それ以外の場合は行単位で比較します。結果上部のタブでモードを手動で固定することもできます。
JSON構造差分がレポートする内容
- Added — 変更後の側にのみ存在するキーまたはインデックス。値のプレビュー付きで表示されます。
- Removed — 元の側にのみ存在するキーまたはインデックス。
- Changed — 同じパスに両側で異なる値が入っており、変更前 → 変更後 の形式で表示されます。
- Type changed — 片側ではオブジェクト、もう片側ではスカラーまたは配列になっているパス。
- すべてのエントリーには、JSON・XML・YAMLインスペクターと同じ $.store.books[0].title 記法のパスが付いているため、ソース内の該当箇所へ直接移動できます。
必要なときに使えるテキスト差分
行単位の比較では、追加・削除されたすべての行が行番号付きでハイライト表示されます。コード、ログ、設定ファイル、あらゆるテキストに対応します。フォーマットだけが変わりデータが変わっていないJSONにも使えます。
例: JSONモードで見えてテキストモードでは見えないもの
以下の2つのコード断片は、キー順序とインデントのみが異なります。テキスト差分ではほぼすべての行が変更として検出されますが、JSON構造差分では正しく変更ゼロと報告されます。
{
"name": "web",
"version": "1.0"
}
{
"version": "1.0",
"name": "web"
}
ワークフローの中での位置づけ
Data Diff はワークベンチにおける比較ステップです。他のツールから任意のドキュメントをここに送信できます:
よくある質問
Diff Formatter フォーマットに関するよくある質問
はい、Diffフォーマッターは完全に無料で、登録不要です。すべての処理はブラウザ内で行われます。
コード、設定ファイル、JSON、XML、プレーンテキスト、その他のテキストベースの形式など、あらゆるテキストコンテンツを比較できます。
追加された行は緑色の背景、削除された行は赤色の背景で表示され、変更された行は両方のバージョンを並べて表示します。
はい。スワップボタンをクリックしてオリジナルと変更済みテキストを反転し、追加を削除に、その逆に切り替えられます。
Gitがテキスト比較に使用するのと同じMyers差分アルゴリズムを使用しており、正確で最小限の差分を保証します。
unified diff形式(-u)です。git diff、diff -u、主要なバージョン管理システムが生成する形式で、1つ以上のファイルセクションから構成され、各セクションには ---/+++ ヘッダー、@@ ハンクマーカー、+/- 行とコンテキスト行が含まれます。正確な形式は GNU diffutils で文書化されており、このフォーマッターは行番号を整列させ、構文カラーリングを施してハンクを再整形します。
@@ -3,7 +3,8 @@ は次を意味します。旧ファイルでは3行目から7行分が表示され、新ファイルでは対応するセクションが3行目から8行分にわたります。数値を読めば変更の規模がひと目でわかり、この例では1行が追加されています。patch(1) や git apply がこれらのマーカーに依存しているため、フォーマッターはマーカーをそのまま保持します。
いいえ。パッチのフォーマットと解説のみを行い、適用はしません。適用には git apply または patch -p1 を、競合するハンクのマージにはお使いのVCSのマージツールを使用してください。フォーマット機能は意図的に読み取り専用にしているため、却下済みや競合のあるハンクを含む任意のパッチを安全に貼り付けて、読みやすい形でレビューできます。
権威ある参考文献
このツールが扱うフォーマットを定義する標準仕様と公式ドキュメントです。