Compare Directories

Products: IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm, AppCode, Android Studio, 0xDBE

Vendor: Olivier Descout

Email: descout underscore olivier at yahoo dot fr





Allows the fast comparison of two directories or archive files (jar, zip, war... and also tar/gz) in IntelliJ IDEA, based on file contents.
Single file differences can be viewed with the usual IDEA diff window.
Diffs in compiled Java class structure and bytecode can also be viewed using the usual IDEA diff window and a built-in Java disassembler.
Detects blank-only differences in text files. Can also detect user-defined differences in text files and differences in source file comments, called «non-significant differences».
Provides some basic mass-merging facilities on compared files and directories (copy/delete on files or directories).

See the online help bundled in the plugin for more information (complete plugin sources are also bundled for the IDEA plugin developers' convenience).

Downloads: 27127
Participated in rating: 20
Version Since Build Until Build File/URL Size (Kb) Date Details
1.1.0. 130. . Download 1071.23 2014-12-07 00:54:28 details
1.0.5. 120. . Download 1026.25 2012-12-20 01:44:05 details
1.0.5. 110. 119.99. Download 1025.78 2012-12-20 01:42:58 details
1.0.4. 93.13. . Download 1024.93 2011-07-12 00:36:29 details
1.0.3. 60.6700. . Download 1021.79 2010-09-28 10:07:38 details
0.9.7. 40.3000. 60.6699. Download 451.69 2008-06-12 00:11:29 details
. .
19 updates are hidden show all updates

Recent change notes:

1.1.0 - Marked the plugin as compatible with every product based on the IntelliJ Platform.
Migrated Java class disassembler from ASM 3 to ASM 4 bundled with IntelliJ Platform.
INVOKEDYNAMIC bytecode instruction is now properly supported.
Made additional output improvements in disassembler (unbounded type arguments, inner class import, native methods).
Grouped inner classes under the nodes of their outer classes, in the compared class tree view.
Grouped lambda method nodes under the nodes of the methods they are called in, in the compared class tree view.
Allowed "Open left/right file" on method nodes (to disassemble the left or right method).
Compiled lambda expressions can now be compared without error (thanks to ASM migration).
Avoided NullPointerException when comparing class with null superclass (java.lang.Object).
Ensured "Merge node" then "Split node" in zipped files restore the very initial node tree.
Displayed progress bar when merging nodes.
Automatically reapplied node merging when rerunning comparison.
Restored "Autoscroll from Source" button in "Compare Directories" panel toolbar.

1.0.7 - Made "Open left/right file" open the same disassembled text as in "Open diffs..."
Made various output improvements in disassembler (generics, variable declaration).
Added support for Java 8 and future Java 9 class versions in the Java disassembler.
Ignored directories registered as separate entries in compressed files.
Fixed ArrayIndexOutOfBoundsException on comparing class methods throwing generic types defined in the method signature (e.g. <X extends Throwable>).

1.0.6 - Made the plugin v1.0.5 work for IDEA 13.
Added memory optimization while comparing large binary files.
Avoided OutOfMemoryError while comparing really huge binary files (above 300-500 GB).

Please refer to META-INF/change-notes.xml in plugin JAR file for older-versions change notes.

General usage instructions:

Execute the
Compare Directories... menu command, select two directories or zip/jar/tar files containing files with the same file names and see the comparison results on the opened Compare Directories panel:

- Files and directories are shown depending on the differences in their contents: identical, different by blanks only, non-significantly different, different, left-only, right-only.

- Compared text file can be then edited within IDEA.

- Compared text file differences can be then viewed with the usual IDEA diff window.

- Compared class bytecode differences can be also viewed with the usual IDEA diff window.

- Files and directories can be copied from one side to the other.

You will find many more details in the bundled help pages.


- When a file has been renamed between 2 compared directories or archives and belongs to the same directory node, the left-only node and right-only node can be merged. Merged nodes can be split if necessary.

- In programming source files, differences in comments can be considered non-significant, to distinguish them from differences in programming instructions. See the non-signicantly diffs of the compare-directory settings dialog box to activate it.


Open Settings > Plugins

Find the "Compare Directories" plugin in the available plugins list, right click on it and choose install

Note: the latest plugin versions require
Idea 13 or more.


2012-12-19 01:49:32
Sorry guys, I was off the field for a year now. Now I'm back and the plugin too!
2012-11-01 14:48:50
Doesn't work with IntelliJ 11.
2012-08-02 14:36:25
I used this plug-in allot in the past, but it doesn't seem to work anymore :(. What a pity!
And Finally
2012-05-15 12:09:00
I love this plugin! Unfortunately it hasn't worked in the last several versions of IntelliJ. I'm running IntelliJ 11.1 and plugin 1.0.4. When I try to compare two directories I get this:

08:48:56 PluginException: org.intellij.idea.dirdiff.action.CompareDirectoryMenuBarAction: group with id "SearchMenu" isn't registered; action will be added to the "Other" group [Plugin: Compare Directories]: org.intellij.idea.dirdiff.action.CompareDirectoryMenuBarAction: group with id "SearchMenu" isn't registered; action will be added to the "Other" group [Plugin: Compare Directories]
08:49:20 NoClassDefFoundError: Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(312,825),absolute(304,817),button=1,modifiers=Button1,clickCount=1] on frame0: com/intellij/ui/TreeToolTipHandler
2011-05-09 20:51:42
Nice tool, but I wish there was a way to not compare recursively. I have two directories I want to compare, but they both contain sub-directories that I don't want compared.
2010-11-02 21:20:52
Thank you!
2010-10-26 13:06:30
Excellent! After installing new version 1.0.3 (93.13.) I can confirm the plugin works under Linux as well (uninstalled 1.0.2 and installed new 1.0.3 through plugin manager).Thank you very much.
2010-10-16 17:24:09
This is odd... The plugin works fine with IDEA 9 under Windows. Looks like the faulty IDEA class still exists in the IDEA-9 Windows distribution (though it has become deprecated) but has been removed from the Linux distribution.

I found a replacement class in IDEA 9 that should fix the issue, but since I have no easy access to a Linux workstation with IDEA installed on it, I cannot make sure the problem is fully solved. :-( All I can do is making sure the plugin works fine under the Windows distribution of IDEA-9.

I'm about to publish an IDEA-9-specific version of the plugin containing the fix. Could you tell me if it is fine then? Thanks.
2010-10-05 22:30:38
Actually it looks like previous version (1.0.2) works in Idea Community Edition on Linux.
2010-10-05 22:22:07
Unfortunately cannot use plugin (1.0.3) with IC-95.429 (on Linux).

Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(115,270),absolute(115,270),button=1,modifiers=Button1,clickCount=1] on frame0: com.intellij.ui.TreeSpeedSearch.(Lcom/intellij/util/ui/Tree;Lcom/intellij/util/containers/Convertor;Z)V
java.lang.NoSuchMethodError: com.intellij.ui.TreeSpeedSearch.(Lcom/intellij/util/ui/Tree;Lcom/intellij/util/containers/Convertor;Z)V
at org.intellij.idea.dirdiff.view.CompareDirectoryPanel$UI.createUI(

Anybody having similar problem? Is it possible to use plugin with Community Edition?
2010-03-19 01:03:51
leszekgruchala, part of your wish has been granted: a new version of the plugin is about to be released with many improvements, including the ability to classify differences in comments as "non-significant differences" (and show them separately from "identical" and "different" files.)

Unfortunately, leszekgruchala, coldserenity, this version cannot compare folders stored in VCS. I didn't yet find a way to retrieve folder structure and file content which is simple, efficient, VCS-independent and working with IDEA 7, 8 and 9 all at the same time. Until then, you still have to retrieve complete snapshots of the source-controlled folder trees you want to compare.
2010-03-15 18:44:40
Nice plug-in!

Any plans to make it able of comparing different branches (starting from specified roots) in VCS?
2010-03-08 15:33:32
Works well with IDEA 9.0.1 Ultimate on Mac.

To make it perfect would be nice to have compare with branches and ignore for differences in comments.

Kudos for you!
2010-03-04 15:02:53
That's something I was looking for!
Now I can easily review developers branches within idea :)

2009-08-13 15:55:11