A Visual Studio Code extension that helps dealing with changes and merges. Compare files, text selections, and run gitdifftool or git mergetool.
By default, it integrates with Kaleidoscope for macOS, the world's most powerful file comparison app. Kaleidoscope helps comparing and merging text, images and folders. Learn more about Kaleidoscope…
Kaleidoscope in 3-way merge mode, opened from a merge in the SCM area of Visual Studio Code
The extension provides the following functionalities through a comprehensive set of menu entries and toolbar buttons:
- Comparison of entire files using Kaleidoscope or another tool
- Comparison of arbitary pieces of text in Kaleidoscope or another tool
- Show git difftool results in Kaleidoscope or default diff tool defined
- Run git mergetool in Kaleidoscope or default merge tool defined
- Bring up the context menu and select
Open with Kaleidoscope
. This will immediately open the selected file(s) in Kaleidoscope. Repeat with other file(s) to compare.
- In the header area, click the
Show all Changes (Kaleidoscope)
button to see all git changes in the current working copy. - Bring up the context menu on a header, such as
Changes
orStaged Changes
, selectShow all Changes (Kaleidosocope)
to show all git changes in that group. - Bring up the context menu on a file, select
Show Changes (Kaleidoscope)
to compare the working copy version of that file with the last repository version. - In the Merge Changs group, bring up the context menu on a file, select
Start Merge (Kaleidoscope)
to open that file in 3-way merge in Kaleidoscope.
- In the header area, click the
Open in Kaleidoscope
button to open the file currently being edited in Kaleidoscope. Repeat with a second file to compare those files. - With a text selection, bring up the context menu and select
Compare in Kaleidoscope
. Repeat to compare those selections.
This extension is made for macOS. To unleash its full potential, Kaleidoscope for Visual Studio Code needs Kaleidoscope to be present and the ksdiff tool to be installed.
Download Kaleidoscope and follow the Instructions in Kaleidoscope > Integration… > ksdiff.
There are three settings to configure the bahvior:
- Compare Tool allows you to configure the path to the tool being used to compare files and text content. By default this points to ksdiff, the tool shipping with Kaleidoscope for macOS.
- Git: Difftool allows chosing between Kaleidoscope and the default setting defined in your git configuration (often in ~/.gitconfig). The extension will call git difftool, possibly with --tool=Kaleidoscope, depending on the setting.
- Git: Mergetool offers the same choice, but in that case when using with git mergetool.
The two latter settings require git to be configured correctly. This can be easily achieved through the Kaleidoscope app, via Kaleidoscope > Integration… > Git
- Bugfixes
- Fix a problem with multiple working copies with one Workspace.
Initial release.