Visual Studio Code is a neat editor with many good functionalities but I especially like the way it shows Git merge conflicts. Instead of a 2-way or a 3-way split it just shows one window with both changes, nicely highlighted with colors and actions.
Meld is packaged for most Linux/Unix distributions, including Fedora, Ubuntu, and Suse. Unless you want the absolutely latest version, you should install Meld through your package manager. 2009-03-25: Mac binary available for version 0.9.95 (created by Michael Schmidt) 2009-03-03: Version 0.9.95. Show line end style for each file. Translation update. For the complete list of changes see the ChangeLog and the Release Message and MD5-sums. 2009-01-17: Version 0.9.94 Bugfix release. About Mergetool.com. Mergetool.com is a Silver ERP partner with Microsoft focused on delivering products, tools and services for Microsoft Dynamics NAV (formerly known as Navision). Mergetool.com named to the 2015 Dynamics President’s Club for the 3rd consecutive year.
I like this feature so much I decided to set Visual Studio Code as my Git merge tool for both the command line and Git Tower.
Command line
Using Visual Studio Code as a merge tool for Git when using command line means editing your .gitconfig
. You just need to define a new tool called code
and set it as the default merge tool.
Merge tool for Git Tower
If you use Git Tower as you GUI client for Git, adding Using Visual Studio Code as a merge tool is a bit more tricky, but there is documentation showing you how to do it. You need to create a CompareTools.plist
file in ~/Library/Application Support/com.fournova.Tower2/CompareTools/
. This file contains definitions for all the custom diff and merge tools you want to use, not just Visual Studio Code.
The definition for Visual Studio Code may look like this
It calls a bash script code.sh
when invoked, that runs Visual Studio Code with the same parameters as in the Git merge tool definition in .gitconfig
, it is just referenced a differently.
Do not forget to make the bash script runnable by calling chmod +x code.sh
.
When you restart Git Tower, you will now see Visual Studio Code among the merge tools options.
See also
What is Meld?
Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It provides two- and three-way comparison of both files and directories, and has support for many popular version control systems.
Meld helps you review code changes and understand patches. It might even help you to figure out what is going on in that merge you keep avoiding.
Features
- Two- and three-way comparison of files and directories
- File comparisons update as you type
- Auto-merge mode and actions on change blocks help make merges easier
- Visualisations make it easier to compare your files
- Supports Git, Bazaar, Mercurial, Subversion, etc.
- …and more
Meld is licensed under the GPL v2, except as noted.
Getting it
Meld is packaged for most Linux/Unix distributions, including Fedora, Ubuntu, and Suse. Unless you want the absolutely latest version, you should install Meld through your package manager.
Windows users should download the MSI, or for older releases, check out the Meld installer project.
On OS X, Meld is not yet officially supported. For pre-built binaries, these OS X builds are the best option. You can also get Meld from MacPorts, Fink or Brew; none of these methods are supported.
Best Merge Tool For Mac
You can also run Meld without installing it. Just extract the archive and run bin/meld
from the archive folder.
Merge Tool For Mac
Source: | Meld 3.20.2 | 16 February 2020 |
Windows: | Meld 3.20.2 | 16 February 2020 |
Note: The 3.20 Windows build uses a new build chain. If you experience issues, please use Meld 3.18.3. | ||
Devel: | Meld 3.21.0 | 19 April 2020 |
Diff Merge Tool For Mac
Requirements
- Python 3.3 (3.6 in development)
- GTK+ 3.14 (3.20 in development)
- GLib 2.36 (2.48 in development)
- PyGObject 3.14 (3.30 in development)
- GtkSourceView 3.14 (4.0 in development)
- pycairo (1.15 in development)