.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」

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • Kinectが切り開く“夢の近未来” (2012/2/2)
     日本を含めた世界中でKinect for Windowsセンサー商用版とSDK正式版がリリース。未来のコンピューティングはどう変化するのか?
  • 3つの視点でネイティブと.NETの適材適所を考察 (2012/1/31)
     アプリ開発は「ネイティブ」と「.NET」、どちらが最良? その問いには「適材適所」と答えるしかない。では、“適所”は一体どこかを考察する
  • SQL Azure Data Sync入門 (2012/1/30)
     SQL Azure/SQL Serverデータベース間のデータ同期を簡単に実現するサービスとは? その仕組みや使用手順を解説
  • Windows Phoneアプリ市場の現状を分析する (2012/1/27)
     Windows Phone のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH