Microsoft.VisualStudio.Text.Differencing Namespace

Classes

BaseLeftBufferChangedEventArgs

Raised whenever the left buffer of an IDifferenceBuffer2 changes. This can only happen if HasFixedBaseLeftBuffer is false.

Difference

Represents a single difference in the set of differences of two lists of elements.

DifferenceBufferOption<T>

A base class that can be used for options that are specific to an IDifferenceBuffer.

DifferenceBufferOptions

A set of options for the difference buffer.

DifferenceBufferProperties
DifferenceViewerOption<T>

A base class that can be used for options that are specific to an IDifferenceViewer.

DifferenceViewerOptions

A set of options about the difference viewer display.

DifferenceViewerRoles

The text view roles associated with an IDifferenceViewer.

Match

Represents a range of matches between two sequences as a pair of spans of equal length.

SnapshotDifferenceChangeEventArgs

Used in conjunction with SnapshotDifferenceChanging and SnapshotDifferenceChanged.

Structs

StringDifferenceOptions

Options to use in computing string differences.

Interfaces

IDifferenceBuffer

A difference buffer constantly computes the differences between two ITextBuffers, providing an IProjectionBuffer, InlineBuffer, that contains the differences between the two ITextBuffers in an inline difference.

IDifferenceBuffer2
IDifferenceBuffer3
IDifferenceBufferFactoryService

A factory for creating IDifferenceBuffer instances.

IDifferenceBufferFactoryService2

A factory for creating IDifferenceBuffer instances.

IDifferenceCollection<T>

Represents a collection of Difference objects extracted from two lists of same-typed elements, given a maximal match sequence generated from a difference algorithm.

IDifferenceService

Determines the differences between two sequences, based on adding or removing elements (but not translating or copying elements).

IDifferenceTextViewModel

Represents a set of zero or more ITextBuffer objects that are unique to the presentation of text in a particular ITextView.

IDifferenceTextViewModelProvider

Provides ITextViewModel objects.

IDifferenceTrackingSpanCollection

Tracking spans for an ISnapshotDifference for the various line and word differences.

IDifferenceViewer

A difference viewer is a container for viewing an IDifferenceBuffer in an inline or side-by-side mode. It keeps the scroll state of the different views in sync, and provides helpers for scrolling to differences and matches in all views.

IDifferenceViewer2
IDifferenceViewer3
IHierarchicalDifferenceCollection

Represents a difference collection in which the left and right sequences are ITokenizedStringList objects, and each difference may itself contain an IHierarchicalDifferenceCollection.

IHierarchicalStringDifferenceService

This service has several shortcut methods that compute differences over strings, snapshots, and spans. 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).

ISnapshotDifference

A set of differences between two ITextSnapshots. These are created by an IDifferenceBuffer, and are valid to a specific set of snapshots for the LeftBuffer/RightBuffer and the StringDifferenceOptions and collections of SnapshotLineTransform and IgnoreDifferencePredicate in place at that time.

ITextDifferencingSelectorService

Used to retrieve an ITextDifferencingService for a given content type. These services may be provided by extenders and may return differences that more closely match the semantics of the given content type, instead of just simple textual differencing.

ITextDifferencingService

This service has methods that compute differences over strings, snapshots, and spans. 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). This service is meant to be provided by extenders to override the diff behavior by content type, thus allowing more control over the differences produced and how they align semantically (based upon the given language/content type).

ITokenizedStringList

A tokenized representation of a string into abutting and non-overlapping segments.

IWpfDifferenceViewer

A WPF-specific version of an IDifferenceViewer, which provides access to the VisualElement used to host the viewer and the various text view hosts as IWpfTextViewHost.

IWpfDifferenceViewerFactoryService

A service for creating IWpfDifferenceViewers.

Enums

DifferenceHighlightMode

The highlight mode for this IDifferenceViewer.

DifferenceHighlightMode2

The highlight mode for this IDifferenceViewer.

DifferenceHighlightMode3

The highlight mode for this IDifferenceViewer.

DifferenceMappingMode

The mapping modes that can be used when mapping points inside a difference between the left and right snapshots.

DifferenceType

The types of differences.

DifferenceViewMode

The view mode for an IDifferenceViewer.

DifferenceViewType

The view type for a view created by an IDifferenceViewer.

IgnoreWhiteSpaceBehavior

Determines how to treat whitespace.

LineType

The line type, as used in methods on IDifferenceBuffer.

StringDifferenceTypes

A bitwise combination of the enumeration values to use when computing differences with the various methods in IHierarchicalStringDifferenceService.

WordSplitBehavior

Behavior to use while splitting words in string differencing.

Delegates

ContinueProcessingPredicate<T>

A predicate used by IDifferenceService that allows callers to stop differencing prematurely.

CreateTextViewHostCallback

Callback used with IWpfDifferenceViewerFactoryService to create a text view host.

DetermineLocalityCallback

A delegate for determining the locality for a given difference type and left/right strings.

IgnoreDifferencePredicate

A custom predicate that the IDifferenceBuffer uses to selectively ignore differences.

SnapshotLineTransform

A custom transform for text snapshot lines, to allow clients of IDifferenceBuffer to modify lines before performing any comparison.