1063

Is there a Compare feature like the Plugin for Notepad++?

4
  • 2
    Yes, there is, but it is integrated with the version control tools, you can't really ask it to compare two arbitrary files, but you can ask version control to compare two revisions of the same file, or your current file in the working folder with the last checked in / committed revision. Commented May 9, 2015 at 13:01
  • 20
    @lasse vscode can compare two arbitrary files now. See my answer stackoverflow.com/a/45091703/1081043 Commented Jul 13, 2017 at 22:13
  • 3
    What plugin is "that" plugin?? Commented Feb 17, 2024 at 6:09
  • If you want to edit both files you're comparing, you have to compare in split view. You can't edit the "red" in inline view. This is a bug: github.com/microsoft/vscode/issues/237270 Commented Jan 5 at 20:56

18 Answers 18

1321

in Explorer window, Right-Click on first file and select:

enter image description here

then Right-Click on second file and select:

enter image description here

Screencast:

how to compare files in vscode

Sign up to request clarification or add additional context in comments.

13 Comments

how to compare two unsaved newly created files?
@dc7a9163d9 the same way, right click and select for compare.
@AmrElAdawy I meant compare two buffers (for example, Untitled-1 and Untitled-2, there is no physical file)
@dc7a9163d9, Yes, That still also the same way as if the two untitleds are saved. Flow the same steps. I tried it and it worked.
In the Explorer view you might not find the "Open Editors" section at first. Just click on the three dots for the settings of the Explorer view and you can see that you can tick this option.
|
493

You can compare files from the explorer either from the working files section or the folder section. You can also trigger the global compare action from the command palette.

  1. Open a folder with the files you need to compare,
  2. Select two using SHIFT
  3. Right click "Compare Selected" enter image description here

8 Comments

Yup, Ive just noticed there is the option of Selecting files to compare but only those in an open folder.
you don't specify how to do either.
to be fair, the question was just to know if there is a funcion, not how to trigger it :)
The "must be inside the opened folder" restriction seemed to be very annoying to me, as I usually open a folder and then also work with external files in the meantime. But there is an easy solution provided by vs code itself: in the folder explorer tab, click on the 3 dots, then toggle "open editors" (disabled by default, at least on the Ubuntu version): this way you can pick any opened file for the side-by-side comparison, not just the ones within the folder. Maybe this is an obvious solution, but I took me a while to figure it out: hope this can help someone.
You can run code -d <file 1> <file 2> these days.
|
336

I have Visual Studio Code version 1.27.2 and can do this:

Compare two files

  1. Drag and drop the two files into Visual Studio Code enter image description here
  2. Select both files and select Select for Compare from the context menu enter image description here
  3. Then you see the diff enter image description here
  4. With Alt+F5 you can jump to the next diff enter image description here

Compare two in-memory documents or tabs

Sometimes, you don't have two files but want to copy text from somewhere and do a quick diff without having to save the contents to files first. Then you can do this:

  1. Open two tabs by hitting Ctrl+N twice: enter image description here
  2. Paste your first text sample from the clipboard to the first tab and the second text sample from the clipboard to the second tab
  3. In the "Open Editors" view, select the first document Untitled-1 with Select for Compare: enter image description here
  4. Select the second document Untitled-2 with Compare with Selected: enter image description here
  5. Then you see the diff: enter image description here

6 Comments

Is there a way (or plugin) to compare all the files in 2 different folders (and their sub-folders)?
@Tohid, have you googled it? vscode compare two folders? The first result is Compare Folders by MoshFeu. Might be what you are looking for.
This answer is so much better because it does not assume that the files to compare are in the same directory tree. Thanks
This answer is amazing because it doesn't even assume that the two files are actual files, i.e., saved on disk. This was precisely what I was looking for, for ages. Imagine you want to compare the outputs of two commands on your screen, say two separate pip list, in Windows, without all the bash goodies. It's either this or... nothing. Thank you #Lernkurve!
Note that in order to compare untitled files, you need to go under the "Open editors" tab which may not appear by default. Right clicking on the "Explorer" title, or clicking on "..." allows you to change that.
|
221

Here is my favorite way, which I think is a little less tedious than the "Select for Compare, then Compare With..." steps.

  1. Open the starting file

  2. Open the Command Palette (F1 or Ctrl + Shift + P)

  3. Type Compare Active File and select Compare Active File With...

    Compare Active File With

  4. Select the new file to compare with. You can either select a recent file from the dropdown list, or click any file in the Explorer panel.

    File Picker

  5. View the Result!

    Diff Viewer

Note: This works with any arbitrary files, even ones that are not in the project dir. You can even just create 2 new Untitled files and copy/paste text in there too.

8 Comments

Do you know, if there exists a way to have both files editable within the compare window?
Not as far as I know. It's strange that you can't edit both windows.
This is nice. Do you know automated way to push differences from left into right? Other than manual copy/paste?
How to come out compare option @wisbucky
is there a way to compare untitled files? I created 2 untitled files to remove timestamps original files as otherwise every line would automatically be different.
|
105

Another option is using command line:

code -d left.txt right.txt

Note: You may need to add code to your path first. See: How to call VS Code Editor from terminal / command line

Visual Studio Code compare file left.txt with right.txt

2 Comments

This is exactly what I was looking for.
I wish this was higher. This allows users to compare files that are outside of the project directory. (New to VScode, I could be wrong)
61

In your terminal type:

code --diff file1.txt file2.txt

A tab will open up in VS Code showing the differences in the two files.

1 Comment

is there a way to select and copy the differing lines?
35

There is plugin called Partial Diff which helps to compare text selections within a file, across different files, or to the clipboard.

4 Comments

I love Partial Diff. Select some text, set it as the left, select some more, set it as the right. Voila.
Yes, I also found that Partial Diff is so easy to use and very useful.
there's a native "Compare with clipboard" option from the F1 menu
@FacundoColombier That option compares the entire active file with the clipboard, whereas the extension allows you to compare selections.
13

Quickly open - and close - 2 new empty editors for a compare

As of Insiders Build v1.75, there is a new command to quickly open 2 new (i.e., empty) editors for a diff/compare. Into each of these you can paste whatever you want to compare between them. The command is:

File: Compare New Untitled Text Files
workbench.files.action.compareNewUntitledTextFiles

There is no default keybinding. Demo:

compare two new files demo

4 Comments

perfect. I like it
Where do you execute the command? I tried in the terminal shell and got "zsh: command not found: File:"
@majorgear IN the Command Palette, so Ctrl+Shift+P and then input "compare new untitled" and the command will appear.
That worked! Context is important. Thank you for the additional information.
7

other option is ctrl-shift + p and type file compare vsc capture

Comments

5

Recently I created a VSCode extension for even faster way of file comparison. It's called Fast Compare and you can download it here.

https://marketplace.visualstudio.com/items?itemName=DavidKol.fastcompare

Gif animation of functionality

Comments

4

If you want to compare file in your project/directory with an external file (which is by the way the most common way I used to compare files) you can easily drag and drop the external file into the editor's tab and just use the command: "Compare Active File With..." on one of them selecting the other one in the newly popped up choice window. That seems to be the fastest way.

Comments

3

I found a flow which is fastest for me, by first associating a keyboard shortcut Alt+k to "Compare Active File With..." (#a). (Similar to wisbucky's answer but further improved and more step-wise.)

Then, to compare two files:

  1. Open or focus file B (will be editable in compare view by default). E.g. by drag-drop from File Explorer to VS Code's center.
  2. Open or focus file A.
  3. Press Alt+k, a quick open menu will be shown with file B focused.
  4. Press Enter.

Result: file A on left and file B on right. (Tested on VS Code 1.27.1)

Remarks

#a - to do so, press Ctrl-k Ctrl-s to show Keyboard Shortcuts, type compare on the top search box, and double click the "Keybinding" column for "Compare Active File With...", press Alt+k then Enter to assign it.

1 Comment

Here is another way to find available compare commands. Press "CMD + Shift + P" (on Mac) or "Ctrl + Shift + P" then type "compare" and you can pick which ever option you want.
3

If we are talking about about "features" per se, there are lots of features that can "replicate" the funcionalities that we are familiar with in Jetbrains.

Like so, there is one that I have found very interesting:

enter image description here

Once you installed it, you double-click and you have all sorts of functionalities to compare, for instance "with clipboard" without having to rely on "copy paste" that part of code in a new file.

enter image description here

Then when comparing with clipboard you should have sth like this:

enter image description here

Hope this helps

Comments

3

I'm on Visual Studio Code version 1.88.1.

To have both files editable within the compare window, do this

  1. Open the Command Palette (F1 or Ctrl + Shift + P)

  2. Type "file: compare new" and select Compare New Untitled Text Files

    Ref

  3. Now you'll have two new files which will be compared

    Ref

Comments

2

Here's a link to marketplace for extension. Extension "compareit" helps to compare two files wich you can choose from your current project and other directory on your computer or clipboard.

1 Comment

I think you can accomplish both without plugins
2

Right click on 1st file click "Select for compare".

Click 2nd file click "Compare with selected"

Comments

1

For comparing JSONFiles :

If you are willing to compare JSON file, maybe you want to add one more step in VSCode:

  1. Open the starting JSON File 1
  2. Right click in the file area and select Format Document or press CMD + Shift + F on Mac
  3. Open the Command Palette (F1 or CMD + Shift + P on Mac)
  4. Search/Select Compare Active File with... select JSON File 2
  5. You can select Inline View from ... menu

Note: All the steps mentioned above are same as all other answers except step-2 which is crucial for JSON file for better visibility.

1 Comment

works like a charm to compare two json files (output from same test case ran twice)
0

In my case, I was trying to use compare option for files in open editor of VS code, however open editor wasn't visible. In such a case, to access open editor, click on 3 dots next to explorer and check the open editors option.

Comments