Share via


IVsTextStream Interface

Provides reading and writing capabilities using one-dimensional coordinates.

Namespace:  Microsoft.VisualStudio.TextManager.Interop
Assembly:  Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)

Syntax

'Declaration
<InterfaceTypeAttribute()> _
<GuidAttribute("D3AF020B-A862-4D22-B373-20F1B30B7D9E")> _
Public Interface IVsTextStream _
    Inherits IVsTextBuffer
[InterfaceTypeAttribute()]
[GuidAttribute("D3AF020B-A862-4D22-B373-20F1B30B7D9E")]
public interface IVsTextStream : IVsTextBuffer
[InterfaceTypeAttribute()]
[GuidAttribute(L"D3AF020B-A862-4D22-B373-20F1B30B7D9E")]
public interface class IVsTextStream : IVsTextBuffer
[<InterfaceTypeAttribute()>]
[<GuidAttribute("D3AF020B-A862-4D22-B373-20F1B30B7D9E")>]
type IVsTextStream =  
    interface 
        interface IVsTextBuffer 
    end
public interface IVsTextStream extends IVsTextBuffer

The IVsTextStream type exposes the following members.

Methods

  Name Description
Public method AdviseTextStreamEvents Not implemented.
Public method CanReplaceStream Tests whether a given editing operation can succeed (for example, copy or cut).
Public method CreateEditPoint Creates an EditPoint object at the given location in the text buffer.
Public method CreateStreamMarker Creates a stream marker of a given type over the specified region.
Public method CreateTextPoint Creates a TextPoint object at the given location in the text buffer.
Public method EnumMarkers Enumerates s specific set of text stream markers, based on the criteria specified.
Public method FindMarkerByPosition Locates a marker of a given type based on a position in the text stream.
Public method GetLanguageServiceID Returns the unique identifier of the language that is providing colorization and other attribute data to this buffer.
Public method GetLastLineIndex Returns the last line in the text buffer.
Public method GetLengthOfLine Returns the length of a line in the buffer.
Public method GetLineCount Returns the number of lines in the buffer.
Public method GetLineIndexOfPosition Returns the line and column numbers in the text buffer, given a position number.
Public method GetPositionOfLine Returns the position number of a line.
Public method GetPositionOfLineIndex Returns the position number in the text buffer, given a line and column number.
Public method GetSize Returns the size in characters of the buffer.
Public method GetStateFlags Returns the state flags of the text buffer.
Public method GetStream Provides direct, stream-oriented access to the text buffer.
Public method GetUndoManager Returns the undo manager for this buffer.
Public method InitializeContent Initializes the content of the text buffer.
Public method LockBuffer Locks the text buffer for the purpose of access control.
Public method LockBufferEx Extension of the LockBuffer method.
Public method Reload Reloads the text buffer.
Public method ReloadStream Replaces text without deleting markers.
Public method ReplaceStream Handles editing, such as line breaking, line joining, and so on.
Public method ReplaceStreamEx Handles editing, such as line breaking, line joining, and so on.
Public method Reserved1 Reserved in the Vtable for future use.
Public method Reserved10 Reserved in the Vtable for future use.
Public method Reserved2 Reserved in the Vtable for future use.
Public method Reserved3 Reserved in the Vtable for future use.
Public method Reserved4 Reserved in the Vtable for future use.
Public method Reserved5 Reserved in the Vtable for future use.
Public method Reserved6 Reserved in the Vtable for future use.
Public method Reserved7 Reserved in the Vtable for future use.
Public method Reserved8 Reserved in the Vtable for future use.
Public method Reserved9 Reserved in the Vtable for future use.
Public method SetLanguageServiceID Sets the unique identifier of the language that is providing colorization and other attribute data to the buffer.
Public method SetStateFlags Sets the state flags of the text buffer.
Public method UnadviseTextStreamEvents Not implemented.
Public method UnlockBuffer Unlocks a buffer locked with the method LockBuffer.
Public method UnlockBufferEx Extension of the UnlockBuffer method.

Top

Remarks

The IVsTextStream interface provides access to the contents of a text buffer in as a linear stream of text using one-dimensional coordinates. Text is referred to as lines separated by end-of-line (EOL) indicators. Coordinates are of type Long. Using this interface imposes overhead resulting from the need to transform coordinates to and from a one-dimensional system. Do not use IVsTextStream with a buffer that contains Visual Basic text or the performance overhead can be severe. In general, use of stream coordinates is discouraged.

IVsTextStream fires the IVsTextStreamEvents interface, which is identical to IVsTextLinesEvents except for the coordinate system that describes the text. When IVsTextStream fires an event called IVsTextStreamEvents, the system informs you that the text or attributes in the buffer have changed.

Starting in Visual Studio 2010, you should access the text buffer on the UI thread, not on background threads. The text buffer no longer gets locked when you call LockBuffer or LockBufferEx. Similarly, the UnlockBuffer and UnlockBufferEx methods no longer have any effect.

Notes to Implementers

Implemented by text buffers in the environment.

Notes to Callers

Called by clients that want to access the text buffer using one-dimensional coordinates. You can use the text buffer object to read or change text.

See Also

Reference

Microsoft.VisualStudio.TextManager.Interop Namespace