When comparing WinMerge vs CodeCompare, the Slant community recommends WinMerge for most people. In the question“What are the best folder/file compare/diff tools for either OSX, Linux or Windows?” WinMerge is ranked 6th while CodeCompare is ranked 10th. The most important reason people chose WinMerge is:
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.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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 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.
Pro Free & Open source
Winmerge is a free and open source tool.
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.
Pro Lightweight, quick startup
Binary is less than 3 MB, so it starts quickly
Pro Filters
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 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 Graphical showing of where code is added or removed
It does not add a blank line in the other code-pane to show where code was added or deleted. It simply draws a line to show point out its location.
Pro Three-way comparison and automatic merging
Three comparison panes with horizontal and vertical layouts
- Integrates with version control systems as the merging tool for conflicting file revisions
- Non-conflicting changes are merged automatically
- Merging conflicts are highlighted
- One-click conflict resolution with a mouse button
Pro Supports comparing folders
Can diff entire folders.
Pro Integrated into Visual Studio
Can be used either as a stand-alone product or as the built in diff/merge tool for Visual Studio.
Pro Clear overview that marks only the changes, not every line with a change
Most compare tools mark every changed line with colour, making the code just a mess with thousands of coloured lines, while all that might be changed is a sign/character on each line. Code Compare draws boxes around each changed segment and highlights only the real change with a colour.
Pro Offers free version and paid for version
You get a lot more if you pay for the pro version.
Cons
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 spotty
The latest version (2.16.0) was released in November 2018. Before that the last official release was made in 2013. The 2.16.0 is actually one of the two forks (Winmerge-v2-jp) that were kept maintained throughout the years, it just got named as the official release.
The other fork, WinMerge2011 is still being actively developed too. It's on par with the historical version, and has additional features such as showing only differences and a 64-bit version.
An 'official' list of forks is maintained here.
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.
Con No longer supported
Problematic with Visual Studio 2022. Semantic code comparison (its main selling point) does not support newer language variations.
Con Does not support custom comment markings
Some compilers use ";" to specify in-line commenting. But as that is not a common method, all added comments are marked as new code. So it becomes difficult to find changes in the functionality of the code.
Con Does not support move-detection
Very few programs detect move of blocks of code. Most just show deleted and added instead.
Con Free version is limited
Whereas there is a free version, it is missing a lot of great features that you're forced to pay for if you want.
