Comparing files using Visual Studio

The diff tool of Visual Studio is very good to compare 2 files. You can use it to compare two versions of the same file directly in Visual Studio. But you can also use it to compare 2 files that are not in a solution.

Using the command line

  1. Open the developer command prompt from the start menu, so devenv.exe is already in the path
  2. Use the following command line:
devenv /diff file1.cs file2.cs

Using the Command Window in Visual Studio

If you have already opened Visual Studio, you can use the Command Window to diff files.

  1. Open the Command Window using the Quick Launch or using the keyboard Ctrl+W, A

  1. Using the command Tools.DiffFiles with the 2 files to compare:
Tools.DiffFiles "file1.cs" "file2.cs"

You'll get the same result as with the command line:

Using Visual Studio as a git difftool and git mergetool

git difftool is a Git command that allows you to compare and edit files between revisions using common diff tools. You can use any editor that support diff such as VS Code. You can change your git configuration directly from Visual Studio.

  1. Open Team Explorer (View / Team Explorer)
  2. Click on the "Settings" button

  1. Select "Global Settings"

  1. Click on the "Use Visual Studio" buttons

Here's the .gitconfig file after clicking on the buttons:

[diff]
    tool = vsdiffmerge
[merge]
    tool = vsdiffmerge
[mergetool]
    prompt = true
[mergetool "vsdiffmerge"]
    cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio\\Preview\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\vsdiffmerge.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\" //m
    keepBackup = false
    trustExitCode = true
[difftool]
    prompt = true
[difftool "vsdiffmerge"]
    cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio\\Preview\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\vsdiffmerge.exe\" \"$LOCAL\" \"$REMOTE\" //t
    keepBackup = false

Leave a reply