Using IntelliJ to diff two arbitrary files

Intellij IdeaDiff

Intellij Idea Problem Overview


I'm really liking the IntelliJ diff tool. I'm wondering if it is possible to use this tool to diff two arbitrary files. I.e. files NOT in an IntelliJ project. Just pick two files in the file system and diff them? What about if I want to diff two strings? In my text editor, I'd just create two new documents, paste the text in and diff them, then not save the files when done. Is this possible?

Thanks

Intellij Idea Solutions


Solution 1 - Intellij Idea

Found this command line:

on MacOSX: (IDEA EAP 11)

/Applications/IntelliJ\ IDEA\ 11.app/Contents/MacOS/idea diff /Users/ben75/file1.txt /Users/ben75/file2.txt

On MacOSX it can't run when IDEA (11) is open.

on Windows: (IDEA EAP 12)

"C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.0\bin\idea.exe" diff C:\Users\ben75\file1.txt C:\Users\ben75\file2.txt

It runs even if IDEA is already open.

I have trouble when trying to compare files with no extensions (or extensions that don't match )

Directly from IDEA (EAP 12)

Not so easy, but it works...

  • File > Open... > select "file1.txt"
  • File > Open... > select "file2.txt"
  • Create a "Favorite list" and add both files to this favorite list. (to do this : ctrl+right-click on file name tab in the editor > add to favorite > select the favorite list just created - see screenshot)
  • Finally, open the "Favorites" view (Alt+2 or click on it on the left or your IDEA windows).
  • Select both files
  • Right click : "compare two files" (or ctrl+D)

add to favorites

Solution 2 - Intellij Idea

IntelliJ Idea 13 has a feature labeled Compare with Clipboard. This feature compares the current open file with a version that you have copied into your clipboard. It's a great, easy way to compare and merge two files easily. It can also be used to compare two arbitrary blocks of code. Can't figure out why one block works and another does not? Use this feature.

This option is present under View > Compare with Clipboard. I assigned an easy to remember keyboard shortcut to give me quick access to this feature.

View > Compare with Clipboard

Solution 3 - Intellij Idea

Select 2 files in Project panel and press CTRL + D.

enter image description here

Solution 4 - Intellij Idea

Since 2018.2, IntelliJ has officially supported it:

For windows: Ctrl + Shift + A, then type "Open Blank Diff Window"

enter image description here

enter image description here

For Mac: Cmd + Shift + A then type "Open Blank Diff Window"

enter image description here

enter image description here

Solution 5 - Intellij Idea

In IntelliJ IDEA 2018.2, you can open an empty Differences Viewer and paste any text you want to compare in its left and right panels. The new Open Blank Diff Viewer action can be found in the Find Action dialog.

Solution 6 - Intellij Idea

From the terminal, you can use the idea launcher directly like so:

# Windows
idea.exe diff path1 path2

# MacOS/Linux
idea diff path1 path2

At least for MacOS (I'm not certain of Windows), if you've created the Command-line Launcher via "Tools -> Create Command-line Launcher..." it's as simple as the following:

# Create some files to diff
echo "This is line 1" > file1.txt
echo "This is line 2" > file2.txt

# Diff with IntelliJ
idea diff file1.txt file2.txt

Note this works with other JetBrains applications as well; for example, using WebStorm or PyCharm:

# Diff with WebStorm
webstorm diff file1.txt file2.txt
# Diff with PyCharm
charm diff file1.txt file2.txt

Reference

Solution 7 - Intellij Idea

I have found even better way if you need to compare opened file with any arbitrary file on filesystem:

  • Be in editor of the first file, let say A.java.
  • Ctrl+Shift+A, you will see: Actions search list
  • Select second "Compare With..." option, you will get "Select path" dialog: Select path dialog
  • Select any file on you hard drive and confirm it, you will get diff window: Diff windows with an arbitrary file against originally selected one

Solution 8 - Intellij Idea

Yes you can (of course, if we are talking about text files). But probably you will need to create some project (just for opening there files).

Then your steps will be:

  1. Add to created project file#1 and file#2.

  2. Open file#1 in editor

  3. Right click mouse in left menu (project files browser) on file#2 and find menu-item Compare File with Editor.

enter image description here

That's all. After p.3) a comparison windows will be opened.

Solution 9 - Intellij Idea

In order to compare two files that both aren't in the project, the following works for me in IntelliJ IDEA Ultimate 14.1.7 on Windows:

  1. Open the first file in the IDE (either by dragging from Windows Explorer into the window, or by File / Open).
  2. In the view menu, choose "Compare With…"
  3. In the "Select Path" dialog that appears, select the second file (either directly, or by dragging from Windows Explorer into the dialog).

It then opens up in the traditional file comparison pane. If you try to edit one of the files, it presents the usual "Are you sure you want to edit a file that's not in your project" dialog, which one can accept if that's what one is trying to do.

Solution 10 - Intellij Idea

Just select both files in project structure and hit:

Windows: ctrl+D

Mac: command+D

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGreg McGuffeyView Question on Stackoverflow
Solution 1 - Intellij Ideaben75View Answer on Stackoverflow
Solution 2 - Intellij IdeaDan TorreyView Answer on Stackoverflow
Solution 3 - Intellij IdeasesView Answer on Stackoverflow
Solution 4 - Intellij IdeaHoa NguyenView Answer on Stackoverflow
Solution 5 - Intellij IdeaRuslanView Answer on Stackoverflow
Solution 6 - Intellij IdeaJoshua HansenView Answer on Stackoverflow
Solution 7 - Intellij IdeaSlovaNView Answer on Stackoverflow
Solution 8 - Intellij IdeaAndremoniyView Answer on Stackoverflow
Solution 9 - Intellij Ideauser65839View Answer on Stackoverflow
Solution 10 - Intellij IdeaJpersaudCodezitView Answer on Stackoverflow