管理编辑器窗口的文本视图并且包含方法控制文本视图。 视图实质上是在用户 (UI)界面中显示的编辑器窗口中。
命名空间: Microsoft.VisualStudio.TextManager.Interop
程序集: Microsoft.VisualStudio.TextManager.Interop(在 Microsoft.VisualStudio.TextManager.Interop.dll 中)
语法
声明
<InterfaceTypeAttribute()> _
<GuidAttribute("BB23A14B-7C61-469A-9890-A95648CED5E6")> _
Public Interface IVsTextView
[InterfaceTypeAttribute()]
[GuidAttribute("BB23A14B-7C61-469A-9890-A95648CED5E6")]
public interface IVsTextView
[InterfaceTypeAttribute()]
[GuidAttribute(L"BB23A14B-7C61-469A-9890-A95648CED5E6")]
public interface class IVsTextView
[<InterfaceTypeAttribute()>]
[<GuidAttribute("BB23A14B-7C61-469A-9890-A95648CED5E6")>]
type IVsTextView = interface end
public interface IVsTextView
IVsTextView 类型公开以下成员。
方法
名称 | 说明 | |
---|---|---|
![]() |
AddCommandFilter | 添加命令筛选器到现有指挥系统筛选器。 |
![]() |
CenterColumns | 在视图中居中放置文本的指定列。 |
![]() |
CenterLines | 在视图中居中放置文本指定的行。 |
![]() |
ClearSelection | 清除当前选择。 |
![]() |
CloseView | 关闭和注销与视图管理器的视图。 |
![]() |
EnsureSpanVisible | 确保文本垂直和水平视图中,。 |
![]() |
GetBuffer | 返回文本缓冲区的当前内容。 |
![]() |
GetCaretPos | 返回光标位置的行和列索引。 |
![]() |
GetLineAndColumn | 将文本流位置为行和列索引。 |
![]() |
GetLineHeight | 返回行的像素高度。 |
![]() |
GetNearestPosition | 转换行和列索引为文本流位置。 |
![]() |
GetPointOfLineColumn | 返回特定行和列的左上角的坐标。 |
![]() |
GetScrollInfo | 返回指定滚动条的核心文本编辑器滚动条设置。 |
![]() |
GetSelectedText | 返回选定文本的副本。 |
![]() |
GetSelection | ,如果有一个,返回文本范围与当前选择对应。 |
![]() |
GetSelectionDataObject | 返回选定文本副本以 IDataObject 接口布局。 |
![]() |
GetSelectionMode | 返回当前选择模式。 |
![]() |
GetSelectionSpan | 返回文本范围与选择。 |
![]() |
GetTextStream | 返回文本指定的流字符串中的。 |
![]() |
GetWindowHandle | 返回此视图的窗口句柄。 |
![]() |
GetWordExtent | 返回当前单词区域。 |
![]() |
HighlightMatchingBrace | 显示在语言构造的匹配的大括号。 |
![]() |
Initialize | 创建视图并允许客户端指定一个或多 TextViewInitFlags 选项。 |
![]() |
PositionCaretForEditing | 在位置放置脱字号适用于功能。 |
![]() |
RemoveCommandFilter | 从指挥系统筛选器的命令筛选器。 |
![]() |
ReplaceTextOnLine | 替换行文本。 |
![]() |
RestrictViewRange | 未提供方法信息。方法不执行任何操作。 |
![]() |
SendExplicitFocus | 发送显式焦点切换到窗口。 |
![]() |
SetBuffer | 相关文本缓冲区与视图。 |
![]() |
SetCaretPos | 设置选择的终结点的坐标。 |
![]() |
SetScrollPosition | 设置指定的滚动条的核心文本编辑器滚动条设置。 |
![]() |
SetSelection | 为指定的文本。 |
![]() |
SetSelectionMode | 设置选择模式。 |
![]() |
SetTopLine | 设置在视图的顶部行将为基线。 |
![]() |
UpdateCompletionStatus | 用于运行完成控件。 |
![]() |
UpdateTipWindow | 更新提示窗口。 |
![]() |
UpdateViewFrameCaption | 强制视图更新其框架窗口标题,如 “[只读]”。 |
页首
备注
IVsTextView 接口不是 MDI 子窗体,但是,单个窗口文本。 如果拆分器是包含的,可能需要对 MDI 子窗体的多个视图。 ,而这个术语,光标,是指鼠标指针,术语,插入符号,引用文本插入点。
警告
此接口不是线程安全的。您不应调用任何从任何操作,但是主 UI 线程上执行此接口。
如果需要对视图的任何操作从不同的线程,则可以:
使用接口 IVsThreadSafeTextView。
调用 GetWindowHandle 方法并使用 PostMessage 方法将消息发送到主线程。
在 IVsTextView使用 ViewCol 的某些方法协调 (例如, GetTextStream 和 GetCaretPos),,而其他使用 CharIndex 坐标 (例如, GetWordExtent)。 ViewCol 坐标可能不包含虚拟空间,同时 CharIndex 坐标是只有一个偏移量缓冲区行中时和 (包括虚拟空间。
如果一个坐标。 ViewCol 协调的访问,则只应调用以确保后的方法以 CharIndex 坐标 ViewCol 坐标位于虚拟空间区域不在中。 例如,调用,则以下操作:
long iLine;
long cCount;
ViewCol iCol;
IVsTextView::SomeMethod(&iLine, &icol);
然后必须检查确保满足下面的条件:
IVsTextBuffer::GetLengthOfLine(iLine, &cCount);
iCol < cCount
然后调用以下操作:
IVsTextView::SomeOtherMethod(ViewCol(iCol ))
// where SomeOtherMethod takes ViewCol coordinates
请参见实现和/或调用的插图在该示例 Figures Language Service的此接口。
对调用者的说明
调用要管理其视图的客户端。