When comparing IntelliJ IDEA vs WinMerge, the Slant community recommends WinMerge for most people. In the question“What are the best diff tools for Git?” WinMerge is ranked 6th while IntelliJ IDEA is ranked 7th. The most important reason people chose WinMerge is:
Binary is less than 3 MB, so it starts quickly
Ranked in these QuestionsQuestion Ranking
Pro Smart refactorings
IDEA places an emphasis in safe refactoring, offering a variety of features to make this possible for a variety of languages.
These features include safe delete, type migration and replacing method code duplicates.
Pro Fast and smart contextual assistance
Uses a fast indexing technique to provide contextual hints (auto-completion, available object members, import suggestions).
On-the-fly code analysis to detect errors and propose refactorization.
Pro Android support, JavaEE support, etc
A very complete development environment support.
Pro Support for many languages
IntelliJ supports many languages besides Java, some of these are: golang, Scala, Clojure, Groovy, Bash, etc.
Pro Stable and robust
IntelliJ IDEA hardly ever crashes or has any issues that plague other Java IDEs like file corruption or slowness.
Pro Lots of plugins
Many plugins are available for almost any task a developer may need to cover. Plugins are developed by Jetbrains themselves or by 3rd parties through the SDK available for writing them.
Pro Intuitive and slick UI
IDEA has a clean, intuitive interface with some customization available (such as the Darcula theme).
Pro Clear and detailed documentation
The documentation is exhaustive, easy to navigate, and clearly worded.
Pro Free version available
There is a free community edition (open source) and an ultimate edition, which you can compare here.
The ultimate edition is available for free for one year for students but must be registered through an .edu e-mail account.
Pro Many convenient features
These simplify the daily work, e.g. copy/cut a whole line without the need to select it.
Pro Very powerful debugger
With ability to step into a certain part of a large method invocation (Shift+F7), drop frame, executing code snippets, showing method return values, etc.
Pro Buit-in Git support
Pro Gradle support
Pro Lightweight, quick startup
Binary is less than 3 MB, so it starts quickly
Pro Compare folders and files
Can show what files has been changed in a folder, allows comparing files in tabs.
Pro In line comparison
Can show differences within a line.
Can filter out files for folder comparison, lines for file comparisons, with regular expressions.
Options also allow to ignore whitespace differences, white lines, case change, line-ending changes, etc.
Pro Free & Open source
Winmerge is a free and open source tool.
Pro Good navigation
Keyboard shortcuts (and toolbar buttons) to navigate to next (previous) difference, side panel shows a map of the files with changed lines and allows to jump to a given place.
Pro Good detection of moved lines
Detects when a block of lines has been moved in the file and shows the relation.
Pro File edition
You can quickly copy changed lines (or files in folder comparison) in both directions with keyboard shortcuts. You can edit the files as well, with syntax highlighting of some languages.
Pro Good shell integration
Select two files and compare them. Alternatively, select one file, navigate elsewhere, select the other file to compare.
Also supports drag'n'drop of files / folders from Explorer.
History of past comparisons.
Con Uses too much RAM
Con Standard hotkeys behave differently
Seems like hotkeys assignment in Idea has no logical consistency.
Like «F3» is usually next match, «Ctrl+W» - close tab, etc — they map to some different action by default.
There is a good effort in making the IDE friendly for immigrants from other products: there are options to use hotkeys from Eclipse, and even emacs. But these mappings are very incomplete. And help pages do not take this remapping into account, rather mentioning the standard hotkeys.
So, people coming from other IDEs/editors are doomed to using mouse and context menus (which are rather big and complex).
Con Bugs are not solved as often as they should
They are more interested in adding new features or issuing new versions than solving bugs.
Con Slow startup
Startup can be slow deepending on system configuration
Con Cannot open multiple projects in the same window
Con Built with closed source components
The version with full features is not opensource. Parts of the code are under apache licence though.
Con Lack of plugins
IntelliJ supports a very small amount of plugins. Although these are 'quality approved', many features are missing and can't be implemented because of that.
Con Windows only
It's only available for Windows. No Mac or Linux versions available. It is possible to run in Linux via WINE, although a bit unstable.
Con Development is stopped
No update for years; last official release was made in 2013.
Two forks are still in active development as of 2017.
As of 2015 it was on par with the historical version, and has additional features such as showing only differences and a 64-bit version.
Winmerge-v2-jp: https://bitbucket.org/sdottaka/winmerge-v2 and https://github.com/sdottaka/winmerge-v2
Adds support for 3-way merge, diff-only view, and improvements to the diff algorithm among other additions. Has a 64-bit version.
An 'official' list of forks is maintained (despite the url) at http://www.geocities.co.jp/SiliconValley-SanJose/8165/unofficial_winmerge_nightly_builds.html
Con No 3-way merge
Cannot merge 3 files, can do only comparisons by pairs.
Makes it unsuitable for merging operations, still useful to compare two versions in the history.