IDifferenceBuffer 介面

定義

差異緩衝區會不斷地計算兩個之間的差異 ITextBuffer ,並提供 IProjectionBufferInlineBuffer 其中包含兩個 ITextBuffer 在內嵌差異之間的差異。

public interface class IDifferenceBuffer : IDisposable, Microsoft::VisualStudio::Utilities::IPropertyOwner
public interface IDifferenceBuffer : IDisposable, Microsoft.VisualStudio.Utilities.IPropertyOwner
type IDifferenceBuffer = interface
    interface IDisposable
    interface IPropertyOwner
Public Interface IDifferenceBuffer
Implements IDisposable, IPropertyOwner
衍生
實作

備註

差異是在背景執行緒上計算,以回應各種變更 (文字變更、選項變更等 ) ,不過,在 SnapshotDifferenceChanged 擁有 LeftBufferRightBuffer (通常是 UI 執行緒) 的執行緒上,會引發差異的所有事件(例如)。

由於差異是以非同步方式計算,因此 CurrentSnapshotDifference 可能會位於任何緩衝區的目前版本後方,而且在計算第一個差異之前會是 null

屬性

BaseLeftBuffer

左邊的緩衝區來源的差異。

BaseRightBuffer

不同的右緩衝區來源。

CurrentInlineBufferSnapshot

的快照集 InlineBuffer ,對應至目前的狀態 CurrentSnapshotDifference

CurrentSnapshotDifference

目前使用的快照差異,與目前的快照集相符 InlineBuffer

DifferenceOptions

用來取得或設定用於差異兩個緩衝區的選項。 這些選項是用來呼叫 IHierarchicalStringDifferenceService 執行實際比較的。

InlineBuffer

最上層的緩衝區,其中包含結合的差異。

IsEditingDisabled

在此中是否已停用編輯 IDifferenceBuffer

LeftBuffer

差異的左邊緩衝區。

Options

用來修改一般差異緩衝區選項 (DifferenceBufferOptions) 。

Properties

屬性擁有者所控制的屬性集合。

(繼承來源 IPropertyOwner)
RightBuffer

差異中的右緩衝區。

方法

AddIgnoreDifferencePredicate(IgnoreDifferencePredicate)

新增述詞以選擇性地忽略差異。

AddSnapshotLineTransform(SnapshotLineTransform)

加入自訂 SnapshotLineTransform ,這可以在比較之前修改文字行。

RemoveIgnoreDifferencePredicate(IgnoreDifferencePredicate)

移除先前加入的述詞 AddIgnoreDifferencePredicate(IgnoreDifferencePredicate)

RemoveSnapshotLineTransform(SnapshotLineTransform)

移除 SnapshotLineTransform 先前加入的自訂 AddSnapshotLineTransform(SnapshotLineTransform)

事件

SnapshotDifferenceChanged

CurrentSnapshotDifferenceInlineBuffer 已變更時引發。

SnapshotDifferenceChanging

緊接在 CurrentSnapshotDifference 和更新之前引發 InlineBuffer

適用於