TextPoint 接口
表示文本文档中的文本位置。
命名空间: EnvDTE
程序集: EnvDTE(在 EnvDTE.dll 中)
语法
声明
<GuidAttribute("7F59E94E-4939-40D2-9F7F-B7651C25905D")> _
Public Interface TextPoint
[GuidAttribute("7F59E94E-4939-40D2-9F7F-B7651C25905D")]
public interface TextPoint
[GuidAttribute(L"7F59E94E-4939-40D2-9F7F-B7651C25905D")]
public interface class TextPoint
[<GuidAttribute("7F59E94E-4939-40D2-9F7F-B7651C25905D")>]
type TextPoint = interface end
public interface TextPoint
TextPoint 类型公开以下成员。
属性
名称 | 说明 | |
---|---|---|
AbsoluteCharOffset | 获取文档开头到 TextPoint 对象的字符偏移量,从 1 开始。 | |
AtEndOfDocument | 获取指示对象是否在文档结尾的值。 | |
AtEndOfLine | 获取指示对象是否在行尾的值。 | |
AtStartOfDocument | 获取指示对象是否在文档开头的值。 | |
AtStartOfLine | 获取指示对象是否在行首的值。 | |
CodeElement | 返回 TextPoint 位置处的代码元素。 | |
DisplayColumn | 返回包含 TextPoint 对象的当前显示列的编号。 | |
DTE | 获取顶级扩展性对象。 | |
Line | 获取对象的行号。 | |
LineCharOffset | 获取对象的字符偏移量。 | |
LineLength | 获取包含对象的行中的字符数,不包括换行符。 | |
Parent | 获取 TextPoint 对象的直接父对象。 |
页首
方法
名称 | 说明 | |
---|---|---|
CreateEditPoint | 在调用对象的位置创建并返回一个 EditPoint 对象。 | |
EqualTo | 返回一个值,指示给定点对象的 AbsoluteCharOffset 属性值是否等于调用TextPoint 对象的该属性值。 | |
GreaterThan | 指示调用对象的 AbsoluteCharOffset 属性值是否大于给定点对象的该属性值。 | |
LessThan | 指示被调用对象的 AbsoluteCharOffset 属性值是否小于给定对象的该属性值。 | |
TryToShow | 尝试显示文本点的位置。 |
页首
备注
TextPoint 对象使您得以在文档中查找位置。使用 TextPoint 对象的属性,可以根据以下内容查找文本:
行号
行中的字符数
从文档开始(计算)的绝对字符位置。
显示列
TextPoint 对象与 EditPoint 对象相似,但前者操作的是代码编辑器中显示的文本,而不是文本缓冲区中的数据。文档中的文本受全局编辑器状态(如自动换行和虚空格)的影响,文本缓冲区中的文本则不受其影响。
编辑文档时,TextPoint 对象相对于周围文本保持不动。即,如果在文本点前插入文本,则它的 AbsoluteCharOffset 属性值会自动增加,以反映它在文档中后移的新位置。如果同一位置有多个 TextPoint 对象,并且使用 EditPoint 对象插入新文本,则新字符将位于所有 TextPoint 对象(用于插入该文本的对象除外)的右侧。
如果 TextDocument 是只读的,则任何尝试修改 TextDocument 对象的操作都将失败。
示例
Sub TextPointExample()
' Comments a region of code.
Dim selection As TextSelection
selection = dte.ActiveDocument.selection()
Dim Start As Editpoint
Start = selection.TopPoint.CreateEditPoint()
Dim endpt As TextPoint
endpt = selection.BottomPoint
Dim undoObj As UndoContext = dte.UndoContext
undoobj.Open("Comment Region")
Do While (Start.LessThan(endpt))
Start.Insert("//")
Start.LineDown()
Start.StartOfLine()
Loop
undoobj.Close()
End Sub