Compartilhar via


IVsTextBuffer Interface

Acts as the base interface for the VsTextBuffer object and provides general information about the text buffer's properties. Also see IVsTextBufferEx, which adds GetTrackChanges and SetTrackChangesSuppression methods.

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

Syntax

'Declaration
<GuidAttribute("C08E5275-0D26-4DE9-8892-994024C23750")> _
<InterfaceTypeAttribute()> _
Public Interface IVsTextBuffer
[GuidAttribute("C08E5275-0D26-4DE9-8892-994024C23750")]
[InterfaceTypeAttribute()]
public interface IVsTextBuffer
[GuidAttribute(L"C08E5275-0D26-4DE9-8892-994024C23750")]
[InterfaceTypeAttribute()]
public interface class IVsTextBuffer
[<GuidAttribute("C08E5275-0D26-4DE9-8892-994024C23750")>]
[<InterfaceTypeAttribute()>]
type IVsTextBuffer =  interface end
public interface IVsTextBuffer

The IVsTextBuffer type exposes the following members.

Methods

  Name Description
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 GetUndoManager Returns the undo manager for this buffer.
Public method InitializeContent Initializes the content of the text buffer.
Public method LockBuffer Has no effect. Deprecated.
Public method LockBufferEx Has no effect. Deprecated.
Public method Reload Reloads the text buffer.
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 UnlockBuffer Has no effect. Deprecated.
Public method UnlockBufferEx Has no effect. Deprecated.

Top

Remarks

The IVsTextBuffer interface provides basic services and text buffer properties, and is used by many clients. It contains information such as whether the buffer is read-only, whether the buffer has been modified, and which language service is associated with the buffer.

Important

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.

IVsTextBuffer fires the IVsTextBufferEvents interface when there is a change in the language service. At the same time, the system notifies you of the switch to a different language service.

For the current buffer implementation, it is faster to read data from the interface IVsTextLines than to use IVsTextBuffer.

The position values used in this interface are a zero-based character index into a Unicode stream. It is always the caller's responsibility to ensure that requests do not index positions past the end of the buffer. Call the method GetSize to determine the character index position.

Notes to Callers

This interface is implemented as part of the VsTextBuffer object. As a VSPackage implementer, you call QueryInterface to get a pointer to the IVsTextBuffer interface when using the core editor objects.

See Also

Reference

Microsoft.VisualStudio.TextManager.Interop Namespace