ViewFilter 类

定义

重要

此 API 不符合 CLS。

此类处理语言服务的各种编辑和 IntelliSense 命令。

public ref class ViewFilter : IDisposable, Microsoft::VisualStudio::OLE::Interop::IOleCommandTarget, Microsoft::VisualStudio::TextManager::Interop::IVsExpansionEvents, Microsoft::VisualStudio::TextManager::Interop::IVsTextViewEvents, Microsoft::VisualStudio::TextManager::Interop::IVsTextViewFilter
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(true)]
public class ViewFilter : IDisposable, Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget, Microsoft.VisualStudio.TextManager.Interop.IVsExpansionEvents, Microsoft.VisualStudio.TextManager.Interop.IVsTextViewEvents, Microsoft.VisualStudio.TextManager.Interop.IVsTextViewFilter
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ViewFilter = class
    interface IVsTextViewFilter
    interface IVsTextViewEvents
    interface IOleCommandTarget
    interface IDisposable
    interface IVsExpansionEvents
Public Class ViewFilter
Implements IDisposable, IOleCommandTarget, IVsExpansionEvents, IVsTextViewEvents, IVsTextViewFilter
继承
ViewFilter
属性
实现

注解

除 cursor、Enter、Backspace 和 Delete 键命令外,此基类还支持以下命令:

命令 描述
AUTOCOMPLETE IntelliSense:从成员列表中选择成员。
SHOWMEMBERLIST IntelliSense:显示成员列表。
COMPLETEWORD IntelliSense:正在键入完整的单词。
PARAMINFO IntelliSense:显示参数信息。
QUICKINFO IntelliSense:显示有关标识符的信息。
GotoDefn 编辑 (advanced) :中转到 "定义"。
GotoDecl 编辑 (advanced) :中转到声明。
GotoRef 编辑 (高级) :中转到引用。
COMMENT_BLOCK 编辑 (高级) :注释一段代码。
UNCOMMENT_BLOCK 编辑 (高级) :取消注释代码段。
OUTLN_STOP_HIDING_ALL 编辑 (大纲显示) :停止大纲显示。
OUTLN_START_AUTOHIDING 编辑 (大纲显示) :切换大纲显示。
SHOWCONTEXTMENU 编辑:显示上下文菜单。

继承者说明

此类已经实现了对 IntelliSense 以及各种高级编辑功能的所有支持。 但是,如果你想要在语言服务中支持其他命令,则必须从此类派生一个类并重写适当的方法:

此外,必须重写 CreateViewFilter(CodeWindowManager, IVsTextView) 类中的方法, LanguageService 以创建类版本的实例 ViewFilter

调用方说明

此类是在类的方法中实例化的 CreateViewFilter(CodeWindowManager, IVsTextView) LanguageServiceOnNewView(IVsTextView) CodeWindowManager 当视图附加到源文件时,该类中的方法又会从类中的方法调用。

构造函数

ViewFilter(CodeWindowManager, IVsTextView)

初始化 ViewFilter 类的新实例。

属性

CodeWindowManager

获取 CodeWindowManager 拥有此的 ViewFilter

IsExecutingCommand

确定筛选器是否正在执行命令。

IsExpansionUIActive

确定代码片段扩展用户界面 (UI) 是否处于活动状态。

SnippetBound

获取或设置键是否已绑定到快捷命令的调用代码段。

Source

获取与此 Source 关联的 ViewFilter

TextTipData
已过时。

获取或设置 TextTipData 与此视图关联的。

TextView

获取与此 IVsTextView 对象关联的 ViewFilter 对象。

方法

CanReformat()

确定语言服务是否可以对源进行格式调整。

Close()

关闭视图筛选器,释放所有已分配的资源。

CommentSelection()

处理 COMMENT_BLOCK 命令以注释掉视图中的当前选定内容。

CreateTextTipData()
已过时。

创建 TextTipData 类的新实例。

Dispose()

释放类创建时分配的所有资源 ViewFilter

ExecCommand(Guid, UInt32, UInt32, IntPtr, IntPtr)

执行指定的命令。

Finalize()

紧靠在销毁对象之前执行最后 ViewFilter 的清理。

GetDataTipText(TextSpan[], String)

返回有关可在工具提示中显示的给定范围的文本。

GetExpansionProvider()

返回一个 ExpansionProvider 对象。

GetFullDataTipText(String, TextSpan, String)

返回一个字符串,该字符串可在工具提示中使用,并考虑其他文本源(如调试器)。

GetPairExtents(Int32, Int32, TextSpan[])

返回包含给定位置的最内部匹配语言元素对的范围。

GetSelection()

返回当前选定文本的范围。

GetWordExtent(Int32, Int32, UInt32, TextSpan[])

返回包含给定位置的词或表达式的范围。

HandleGoto(VSConstants+VSStd97CmdID)

处理指定的 "中转到" 命令。

HandlePostExec(Guid, UInt32, UInt32, IntPtr, IntPtr, Boolean)

执行命令后处理后处理。

HandlePreExec(Guid, UInt32, UInt32, IntPtr, IntPtr)

在执行命令前处理预处理。

HandleQuickInfo()

处理 QUICKINFO 命令以显示有关所选标识符或表达式的工具提示信息。

HandleSmartIndent()

处理智能缩进。

InnerExec(Guid, UInt32, UInt32, IntPtr, IntPtr)

执行 IOleCommandTarget 命令。

OnAfterSnippetsKeyBindingChange(UInt32, UInt32, Int32)

从快捷方式命令中的调用代码段的键绑定发生更改后调用。

OnAfterSnippetsUpdate()

只要更新了包含代码段的文件夹,并在其中读取了该文件夹中的代码段,就会调用。

OnAutoComplete()

AUTOCOMPLETE 收到命令时调用。

OnChangeCaretLine(IVsTextView, Int32, Int32)

当插入点移到另一行时调用。

OnChangeScrollInfo(IVsTextView, Int32, Int32, Int32, Int32, Int32)

当指定滚动条的滚动信息发生更改时调用。

OnKillFocus(IVsTextView)

当指定的视图失去焦点时调用。

OnSetBuffer(IVsTextView, IVsTextLines)

当在给定视图中设置或更改行的缓冲区时调用。

OnSetFocus(IVsTextView)

当指定的视图获得焦点时调用。

QueryCommandStatus(Guid, UInt32)

确定是否支持指定的命令。

QueryParameterList(Guid, UInt32, UInt32, IntPtr, IntPtr)

调用以获取指定命令的参数。

ReformatDocument()

处理 FORMATDOCUMENT 用于重新设置整个文档格式的命令。

ReformatSelection()

处理 FORMATSELECTION 命令以便重新设置所选内容的格式。

RegisterExpansionManagerEventHandlers(IVsExpansionManager)

注册事件处理程序 IVsExpansionEvents

RegisterTextViewEventHandlers(IVsTextView)

注册文本视图事件处理程序。

ShowContextMenu(Int32, Guid, IOleCommandTarget, Int32, Int32)

处理 SHOWCONTEXTMENU 命令以显示上下文菜单。

TypeChar(Char)

TYPECHAR在当前命令目标链上执行。

UncommentSelection()

处理 UNCOMMENTBLOCK 命令以取消对当前视图中当前选定内容的注释。

显式接口实现

IOleCommandTarget.Exec(Guid, UInt32, UInt32, IntPtr, IntPtr)

处理支持的命令的执行。

IOleCommandTarget.QueryStatus(Guid, UInt32, OLECMD[], IntPtr)

确定是否支持给定命令组中的指定命令。

适用于