Skip to content

kaleidoscope-app/vscode-ksdiff

Repository files navigation

Kaleidoscope Logo

Kaleidoscope for Visual Studio Code

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 3-way merge opened from Visual Studio Code

Kaleidoscope in 3-way merge mode, opened from a merge in the SCM area of Visual Studio Code

Features

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

Running git difftool with Kaleidoscope

How to use

In Explorer View

  • 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 SCM View

  • 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 or Staged Changes, select Show 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 Editor

  • 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.

Requirements

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.

Extension Settings

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

Release Notes

1.0.2 - October 18, 2022

  • Bugfixes

1.0.1 - July 19, 2022

  • Fix a problem with multiple working copies with one Workspace.

1.0.0

Initial release.