IDifferenceBufferFactoryService3.CreateDifferenceBuffer Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Create an IDifferenceBuffer for the given left and right buffers and with the given difference options.
public Microsoft.VisualStudio.Text.Differencing.IDifferenceBuffer2 CreateDifferenceBuffer (Microsoft.VisualStudio.Text.ITextDataModel innerLeftDataModel, Microsoft.VisualStudio.Text.ITextDataModel rightDataModel, Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions options, bool disableEditing, Microsoft.VisualStudio.Text.Projection.IProjectionBuffer leftEditBuffer, Action<Microsoft.VisualStudio.Text.Projection.IProjectionBuffer,Microsoft.VisualStudio.Text.Differencing.IDifferenceBuffer2,Microsoft.VisualStudio.Text.ITextDataModel> updateLeftProjection, Microsoft.VisualStudio.Text.Projection.IProjectionBuffer rightEditBuffer, bool fixedBaseLeftBuffer);
abstract member CreateDifferenceBuffer : Microsoft.VisualStudio.Text.ITextDataModel * Microsoft.VisualStudio.Text.ITextDataModel * Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions * bool * Microsoft.VisualStudio.Text.Projection.IProjectionBuffer * Action<Microsoft.VisualStudio.Text.Projection.IProjectionBuffer, Microsoft.VisualStudio.Text.Differencing.IDifferenceBuffer2, Microsoft.VisualStudio.Text.ITextDataModel> * Microsoft.VisualStudio.Text.Projection.IProjectionBuffer * bool -> Microsoft.VisualStudio.Text.Differencing.IDifferenceBuffer2
Public Function CreateDifferenceBuffer (innerLeftDataModel As ITextDataModel, rightDataModel As ITextDataModel, options As StringDifferenceOptions, disableEditing As Boolean, leftEditBuffer As IProjectionBuffer, updateLeftProjection As Action(Of IProjectionBuffer, IDifferenceBuffer2, ITextDataModel), rightEditBuffer As IProjectionBuffer, fixedBaseLeftBuffer As Boolean) As IDifferenceBuffer2
Parameters
- innerLeftDataModel
- ITextDataModel
The data model for the left buffer. This can be null.
- rightDataModel
- ITextDataModel
The right (new, after) buffer's data model.
- options
- StringDifferenceOptions
The options to use in computing differences between the buffers.
- disableEditing
- Boolean
If true, disable editing in the right and inline views.
- leftEditBuffer
- IProjectionBuffer
The buffer that will be used as the left edit buffer of a containing diff view.
- updateLeftProjection
- Action<IProjectionBuffer,IDifferenceBuffer2,ITextDataModel>
Called when the left data model changes to update the left edit buffer's projection buffer. Can be null if fixedBaseLeftBuffer
is true.
- rightEditBuffer
- IProjectionBuffer
The buffer that will be used as the right edit buffer of a containing diff view.
- fixedBaseLeftBuffer
- Boolean
Allows, if false, the BaseLeftBuffer can be changed.
Returns
Remarks
If disableEditing
if true, then the caller is responsible for ensuring rightEditBuffer
is covered by a read-only region.
updateLeftProjection
is only called when LeftDataModel changes.
The other difference buffer factory methods all assume that the created DifferenceBuffer will be used to create a DifferenceView that displays all of the buffers defined in the left and right data models. This factory method is used when you want a difference viewer that displays only part of the buffers: the supplied leftEditBuffer
and rightEditBuffer
define the spans that will be displayed in the difference viewer. updateLeftProjection
is used to adjust the left edit buffer if the left data model changes.