Visual Studio で 2 つのファイルを並べて比較する方法

Visual Studio の組み込み diff ビューアまたは Git ツールを使用して、2 つのファイルを高速に比較する方法をご紹介します。以下の手順に従って、差分を並べて開き、編集内容を効率的に確認しましょう。ファイルの 2 つのバージョン間で何が変更されたかを確認する必要がある場合は、このガイドが役立ちます。Visual Studio が面倒な作業を全てやってくれると嬉しいと思うこともあるでしょうが、実はそうではありません。いくつか設定が必要です。とはいえ、一度設定してしまえば、差分の確認ははるかに簡単になり、時間を大幅に節約できます。

Visual Studio で 2 つのファイルを比較する方法

Visual Studio コマンド プロンプト (または開発者コマンド プロンプト) を開きます。

  • PCでVisual Studioを起動します。「ツール」 > 「コマンドライン」 > 「開発者コマンドプロンプト」に進みます。見つからない場合は、スタートメニューで「Visual Studio用開発者コマンドプロンプト」を検索して直接開きます。
  • または、スタートメニューから「Developer Command Prompt for VS 2022」(またはお使いのバージョン)と入力して起動することもできます。少し奇妙に聞こえるかもしれませんが、Visual Studioには便利なビルドツールとコマンドがすべて搭載されたコマンドプロンプト環境が付属しています。
  • Visual Studio から直接起動できないか、利用できない場合があります。PowerShell または CMD を実行して Visual Studio ツールを手動で追加することもできますが、これはより高度な方法です。

Diffコマンド(vsdiffmerge)を使用する

  • コマンド プロンプトに入ったら、次のコマンドを実行して 2 つのファイルを比較します。 vsdiffmerge "C:\path\to\file1.txt" "C:\path\to\file2.txt"
  • 実際のファイルへのパスを変更してください。Visual StudioがPATH環境変数に追加されていない場合は、`vsdiffmerge.exe`が保存されているディレクトリ(通常は` C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer`など)に移動する必要があるかもしれません。
  • Enterキーを押すと、差分ウィンドウがポップアップ表示され、ファイルが色分けされた状態で並べて表示されます。設定によっては1~2秒かかる場合や、コマンドプロンプトを管理者として実行する必要がある場合がありますが、すべてが正しく設定されていれば問題なく動作します。

ソリューション内のファイルを比較する

  • ソリューション エクスプローラーを開きますCtrl + Alt + L
  • 比較する最初のファイルを右クリックし、コンテキスト メニューから [比較対象…]を選択します。
  • 比較する2つ目のファイルを選択してください。Visual Studioは、違いを示す横並びの比較画面を開きます。同じソリューション内の異なるフォルダー間でファイルを比較することも可能です。変更内容の確認やリファクタリング作業に非常に便利です。
  • プロのヒント: オプションが見つからない場合は、ファイルがプロジェクトの一部であるか、エディターで開かれていることを確認してください。ファイルが読み込まれていない場合、コンテキスト メニューに比較オプションが表示されないことがあります。

ファイルの比較には Git 統合を使用する

  • 「表示」 > 「Gitの変更」に進みます。ステージングエリアまたは変更されたファイルのリストが表示されます。
  • 変更されたファイルを右クリックし、「変更されていないファイルと比較」を選択します。これにより、ローカルでの変更と最後にコミットされたバージョンとの差分が表示されます。
  • これはバージョン管理を使っている場合に特に便利です。コミット前にちょっと確認するようなものです。バージョン管理に慣れていない場合は、進行中の作業をスタッシュやコミットで管理すると、管理しやすくなります。
  • 注: 環境によっては、特にVisual Studio以外でGitを使用している場合は、より高度な差分表示にはGitHub DesktopSourceTreeなどのツールが適している場合があります。それでも、Visual Studioに統合された差分表示機能は、簡単なチェックには十分です。

Visual Studio でファイルを比較する必要があるのはなぜでしょうか?

  • 最近のコード変更を追跡し、バグを早期に発見します。
  • コードレビューを高速化します。履歴を検索するよりも、何が正確に変更されたかを確認する方がはるかに速くなります。
  • 異なるブランチやチームメイトからの変更をマージするときに競合を回避するのに役立ちます。
  • 正直に言うと、2 つのファイルを手動で並べて開いたり、前後にめくったりするよりもはるかに簡単です。

よくある質問

個々のファイルではなくフォルダーを比較できますか?

Visual Studio 内で直接行うことはできませんが、Compare Foldersなどの拡張機能をインストールしたり、 Beyond Compareなどの外部ツールを使用したりすることができます。Visual Studio のコア機能はフォルダー比較をネイティブにサポートしていないため、時々イライラすることがあります。

Visual Studio Code はファイル比較をサポートしていますか?

はい。エクスプローラーで2つのファイルを選択し、右クリックして「選択したファイルを比較」を選択するだけです。差分表示は洗練されていて、素早く操作できます。Visual Studio IDEではありませんが、ちょっとした確認には十分です。

変更前と変更後など、同じファイルの異なるバージョンを比較できますか?

はい、Git を使用している場合は、ソリューション エクスプローラーまたはエディターでファイルを右クリックし、「以前のバージョンと比較」を選択してください。これにより、前回のコミットまたはスタッシュ以降の変更内容を示す差分が表示されます。

レビュー後に相違点をマージするにはどうすればいいですか?

Visual Studioでは、変更内容を手動で一方のペインからもう一方のペインにコピーしたり、ブランチをマージする際の競合解決時にマージツールを使用したりできます。少し扱いに​​くいですが、目的は達成できます。

まとめ

まとめると、Visual Studio でファイルを比較するのは、特別な魔法ではありませんが、決して簡単というわけでもありません。コマンドラインツール、右クリックオプション、Git 統合などを使えば、使い方に慣れれば作業がずっと楽になります。サイドバイサイドビューでは差異がわかりやすく色分けされるため、エラーの検出やコードレビューに非常に役立ちます。ただし、フォルダー比較が必要な場合は、Visual Studio はまだそこまでの機能がないため、外部ツールや拡張機能が必要になることを覚えておいてください。とはいえ、一度設定してしまえば、時間の節約になり、コードベースで予期せぬ問題が発生するのを防ぐことができます。