We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

IHierarchicalStringDifferenceService Interface

This service has several shortcut methods that compute differences over strings, snapshots, and spans.

Namespace:  Microsoft.VisualStudio.Text.Differencing
Assembly:  Microsoft.VisualStudio.Text.Data (in Microsoft.VisualStudio.Text.Data.dll)

public interface IHierarchicalStringDifferenceService

The IHierarchicalStringDifferenceService type exposes the following members.

Public methodDiffSnapshotSpansCalculates the differences between two snapshot spans, using the given difference options.
Public methodDiffStringsCalculates the differences between two strings, using the given difference options.

This is a MEF component part, and should be imported as follows:

Internal IHierarchicalStringDifferenceService hierarchicalService = null;

Differences are computed according to the specified StringDifferenceTypes, starting with the most general type. Line is more general than word, and word is more general than character.

Given string A:

This is a


and string B:

This is but a


The returned difference collection contains one line difference, which maps to line 1 of each string.

This difference contains one word difference, which is the addition of the words "but" and " ".