.NET TIPS

.NET時代のソース・コード差分ツールとは?

デジタルアドバンテージ 一色 政彦
2005/08/05

 プログラミングを行っていると、修正前のファイルと修正後のファイルで、どの部分が追加されてどの部分が削除されたのか、どこが変更されたのかを知りたい場合が多々ある。そのような場合、「ファイルやディレクトリ単位で、ソース・コード同士の差分を取って、変更個所を確認する」というのが一般的な手段だ。

 このようなソース・コードの差分取得と変更個所の確認を行うためのツール(以降、差分ツール)の1つに「WinDiff」がある。このツールは.NET以前のVisual Studio 6.0(以降、VS 6.0)の時代にはよく使われていた。

.NET以前の差分ツール「WinDiff」の実行画面
2つのファイルの差分が色付けで表示される。赤色で示されている個所は削除されたコードで、黄色で示された個所は追加されたコード。

 Visual Studio .NET(以降、VS.NET)でも、このWinDiffは、「C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\Bin\」フォルダの中に「WinDiff.Exe」というファイル名でインストールされる(VS.NETを「C:\Program Files\Microsoft Visual Studio .NET」にインストールした場合)。

 しかしVS.NETのWinDiffは、必ずしもインストールされるわけではなく(インストール・オプションによってはインストールされないことがある)、また[スタート]メニューの[すべてのプログラム]−[Microsoft Visual Studio .NET]−[Visual Studio .NET ツール]メニューの中にもショートカット・メニューが作成されないので(これは、.NET環境ではWinDiffを基本的に使用してほしくないというのだろうか……)、.NET環境でWinDiffが実際に使われることは少ないようである。

 もちろんVS.NET環境でもこのWinDiffは便利に使うことができるのだが、より使いやすく高機能な差分ツールがあるので、本稿では、そちらのツールを紹介する。

 そのツールとは、「WinMerge」というオープンソース・ソフトウェアである。

 WinMergeのインストール方法は難しくないので本稿では割愛する。以下の画面は、実際にWinMergeを実行しているところである。

.NET時代の差分ツール「WinMerge」の実行画面
WinMerge日本語版を実行したところ。左側に変更前のソース・ファイルが、右側に変更後のソース・ファイルが表示され、それぞれのファイルの差分となるソース・コードがオレンジ色でハイライトされている。WinMergeでは、これらの差分内容を簡単にマージ(統合)することもでき、使い勝手が良い。
  メニュー・バーの[ファイル]−[開く]を選択する。これにより[ファイルまたはディレクトリの選択...]ダイアログが表示される。
  左側のソース・ファイル(もしくはディレクトリ)を指定。基本的には<変更前>のソース・コードを含むファイルやディレクトリを指定する。
  右側のソース・ファイル(もしくはディレクトリ)を指定。基本的に<変更後>のソース・コードを含むファイルやディレクトリを指定する。
  [OK]ボタンをクリックすると、で指定したファイル(やディレクトリ)の差分情報が、別ウィンドウで表示される。
  差分情報が表示されるウィンドウでは、そのエディタ内で直接ソース・コードを編集したり、右側の一部内容を左側にコピーしたりできる。

 WinMergeの操作方法(WinMergeバージョン2.2用のマニュアル)については、次のサイトを参照してほしい。

 WinMergeの操作はあまり難しくないので、このマニュアルを読まなくてもある程度操作できるだろう。ソース・コードの一部を選択して右クリックしてみたり、ツールバーやメニュー・バーの項目を実行してみたりして、実際に試してみてほしい。End of Article

カテゴリ:開発環境&ツール 処理対象:Diff
 
この記事と関連性の高い別の.NET TIPS
[ASP.NET]ページから生成されたソース・コードを見るには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間