WEB

ツールを使ってコードの違いを見つけてみる「WinMerge」(Windows)

コードを扱っている場合、変更箇所がどこか明確に分かると助かる場合があり、Windows環境の場合オープンソースソフトウェアの「WinMerge」でわかりやすく見分けることが叶います。

今回の場合は、WordPressの親テーマを編集したが、テーマの更新があり、コード違いを見分けて必要なファイルを子テーマに入れ込んでいきたいことを想定してみます。

WinMergeをインストール

WinMergeのサイトへ行き、右上の「今すぐダウンロード!」を選択することで「WinMerge-2.16.30-Setup.exe」のファイルのダウンロードが出来ます。

exeファイルを開くとセットアップ画面になりますので、ライセンス事項を確認し「次へ」を選択します。

任意の保存先フォルダを指定して「次へ」を選択します。
※特段こだわりが無い場合はデフォルトのままでも問題ありません。

コンポーネントの選択で、インストールするものを選択し「次へ」を選択します。
※今回は「標準インストール」のデフォルトのまま進行します。

「プログラムグループの指定」でアイコン作成場所の設定し「次へ」を選択します。
※こちらも今回はデフォルトのまま進みます。

追加のタスクを選択で、任意のものを選択し「次へ」を選択します。
※デスクトップ上にアイコンを作成したい場合は、チェックを入れましょう。

「インストール準備完了」となりますので、内容に問題なければ「インストール」を選択します。

「情報」と出ますので「次へ」を選択します。

「WinMerge セット アップウィザードの完了」となりますので「完了」を選択しセットアップを完了させます。

WinMergeでファイルを比較してみる

今回は例としてワードプレスの親テーマを編集してしまい、改めて子テーマを作るために、どこを編集したかを見てみるため、編集していない状態のテーマファイルと、編集をしたテーマファイルを比較してみます。
※未編集のテーマファイルは配布元や保存してあるデータを参照してください。
※比較する編集してしまったテーマファイルは、FTPアクセス等で「wp-content>thtmes」から対象のテーマをダウンロードし、使用していきましょう。
※現在テーマのダウンロードはワードプレスのプラグイン「File Manager(WP File Manager)」でも行えます。File Managerについては以下の記事にて取り上げています。

 

WinMergeを起動して、「ファイル>開く」を選択すると図の様にポップアップが出現しますので、比較したいファイルを「1番目のファイルまたはフォルダ―」と「2番目のファイルまたはフォルダ―」に参照から入れ、右下の「比較」を選択します。

タブが立ち上がりファイル名の羅列が現れます。今回「footer.php」に相違があることが「!マーク」で知らせてくれているので、ダブルクリックをして開いてみます。

開くと相違箇所をマーカーしてくれて分かりやすくなっています。

これによって、今回のテーマについては「footer.php」のみが元々のテーマファイルとは異なるため、「footer.php」を現在使っている状態のテーマにあわせ(コピー&ペーストなどをして)格納することにより、テーマファイルの更新があったとしても問題なく稼働させることが叶います。

子テーマの作成については以下の記事にて取り上げていますので、フォルダ階層をあせることにより、親テーマ更新時のホームページの破損等を防ぐことが可能になります。


※上記ページの「子テーマの必須ファイル」の中に追加することで動きます。

さいごに

WinMerge自体から対象ファイルの上書き保存等も可能ですが、私はあくまで比較対象に使い、実際のコード編集はコードエディターなどを使っています。

WinMergeは1文字単位でも違いを教えてくれるため、図で意図的に「2」と入れてみましたが、相違があることを的確に教えてくれます。
※もし編集後に再度「比較」したい場合は、WinMergeのメニューの一番右側にある「表示更新」を行ってください。

どんな風に比較がされるのか、今回の例以外にもWinMergeの公式サイトに例のスクリーンショットが掲載されていますので、そちらのページも参照してみてください。

関連記事

TOP