ViewFilter 类

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

此 API 不兼容 CLS。 

继承层次结构

System.Object
  Microsoft.VisualStudio.Package.ViewFilter

命名空间:  Microsoft.VisualStudio.Package
程序集:   Microsoft.VisualStudio.Package.LanguageService(在 Microsoft.VisualStudio.Package.LanguageService.dll 中)
  Microsoft.VisualStudio.Package.LanguageService.10.0(在 Microsoft.VisualStudio.Package.LanguageService.10.0.dll 中)
  Microsoft.VisualStudio.Package.LanguageService.9.0(在 Microsoft.VisualStudio.Package.LanguageService.9.0.dll 中)
  Microsoft.VisualStudio.Package.LanguageService.11.0(在 Microsoft.VisualStudio.Package.LanguageService.11.0.dll 中)

语法

声明
<CLSCompliantAttribute(False)> _
<ComVisibleAttribute(True)> _
Public Class ViewFilter _
    Implements IVsTextViewFilter, IVsTextViewEvents, IOleCommandTarget, IDisposable,  _
    IVsExpansionEvents
[CLSCompliantAttribute(false)]
[ComVisibleAttribute(true)]
public class ViewFilter : IVsTextViewFilter, IVsTextViewEvents, 
    IOleCommandTarget, IDisposable, IVsExpansionEvents

ViewFilter 类型公开以下成员。

构造函数

  名称 说明
公共方法 ViewFilter 初始化 ViewFilter 类的新实例。

页首

属性

  名称 说明
公共属性 CodeWindowManager 获取拥有此 ViewFilter的 CodeWindowManager
公共属性静态成员 IsExecutingCommand
公共属性 IsExpansionUIActive 确定代码段展开用户界面是否 (UI)处于活动状态。
受保护的属性 SnippetBound 获取或设置键是否绑定到 调用从快捷的代码段 命令。
公共属性 Source 获取与此 ViewFilter 关联的 Source
公共属性 TextTipData 获取或设置 TextTipData 与此视图。
公共属性 TextView 获取与此 ViewFilter 对象关联的 IVsTextView 对象。

页首

方法

  名称 说明
公共方法 CanReformat 确定数据源是否可由语言服务重新设置。
公共方法 Close 关闭视图筛选器,释放所有已分配的资源。
公共方法 CommentSelection 处理 COMMENT_BLOCK 命令注释在视图中当前选择。
公共方法 CreateTextTipData 创建 TextTipData 类的新实例。
公共方法 Dispose ,当 ViewFilter 类中创建的,释放分配的所有资源。
公共方法 Equals 确定指定的对象是否等于当前对象。 (继承自 Object。)
受保护的方法 ExecCommand 执行指定的命令。
受保护的方法 Finalize ,在销毁之前,执行最后清理 ViewFilter 对象。 (重写 Object.Finalize()。)
公共方法 GetDataTipText 返回有关在工具提示中显示的特定范围中的文本。
公共方法 GetExpansionProvider 返回一个 ExpansionProvider 对象。
公共方法 GetFullDataTipText 返回可用于工具提示的字符串,考虑文本的其他源 (如调试器。
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetPairExtents 返回包含特定位置最内层的区域相对语言元素。
公共方法 GetSelection 返回当前选定的文本区域。
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 GetWordExtent 返回包含特定位置字或表达式的区域。
公共方法 HandleGoto 处理指定的 “转到”命令。
公共方法 HandlePostExec post-processing 的句柄,在命令执行后。
公共方法 HandlePreExec 预处理在命令之前的处理方式执行。
公共方法 HandleQuickInfo 处理 QUICKINFO 命令显示有关选定标识符或表达式的工具提示信息。
公共方法 HandleSmartIndent 处理智能缩进。
受保护的方法 InnerExec 执行一个 IOleCommandTarget 命令。
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 OnAfterSnippetsKeyBindingChange 调用,是在绑定为 调用从快捷的代码段 命令后的关键更改。
公共方法 OnAfterSnippetsUpdate 调用时,都包含代码段后更新的文件夹以及该文件夹中的代码段编写。
公共方法 OnAutoComplete 调用时, AUTOCOMPLETE 命令接收。
公共方法 OnChangeCaretLine 调用,则插入符号移至另一行。
公共方法 OnChangeScrollInfo 调用,指定滚动条的滚动信息已更改。
公共方法 OnKillFocus 调用,同时指定的视图失去焦点。
公共方法 OnSetBuffer 调用时,行缓冲区在给定视图设置或更改。
公共方法 OnSetFocus 调用,同时指定的视图获得焦点。
受保护的方法 QueryCommandStatus 确定指定的命令是否支持。
受保护的方法 QueryParameterList 调用以获取指定的命令的参数。
公共方法 ReformatDocument 处理 FORMATDOCUMENT 命令重新设置整个文档。
公共方法 ReformatSelection 处理 FORMATSELECTION 命令重新设置选择。
公共方法 RegisterExpansionManagerEventHandlers
公共方法 RegisterTextViewEventHandlers
公共方法 ShowContextMenu(Int32, Guid, IOleCommandTarget) 处理 SHOWCONTEXTMENU 命令显示上下文菜单。
公共方法 ShowContextMenu(Int32, Guid, IOleCommandTarget, Int32, Int32)
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)
公共方法 TypeChar 执行在当前命令目标链的 TYPECHAR
公共方法 UncommentSelection 句柄取消注释的 UNCOMMENTBLOCK 命令在当前视图中当前选择。

页首

显式接口实现

  名称 说明
显式接口实现私有方法 IOleCommandTarget.Exec 一个支持的命令处理执行。
显式接口实现私有方法 IOleCommandTarget.QueryStatus 确定指定的命令在特定命令组中是否支持。

页首

备注

除了光标外,输入之前,退,并且, delete 键命令,此基类提供以下命令支持:

Command

说明

AUTOCOMPLETE

IntelliSense:从成员的选择的成员列表。

SHOWMEMBERLIST

IntelliSense:显示成员列表。

COMPLETEWORD

IntelliSense:完成类型化的单词。

PARAMINFO

IntelliSense:显示参数信息。

QUICKINFO

IntelliSense:显示有关标识符的信息。

GotoDefn

edit (高级):转到定义。

GotoDecl

edit (高级):转到声明。

GotoRef

edit (高级):转到引用。

COMMENT_BLOCK

edit (高级):注释代码范围。

UNCOMMENT_BLOCK

edit (高级):取消注释代码范围。

OUTLN_STOP_HIDING_ALL

edit (概述):停止大纲显示。

OUTLN_START_AUTOHIDING

edit (概述):切换大纲显示。

SHOWCONTEXTMENU

编辑:显示一个上下文菜单。

对实现者的说明

此类已实现所有 IntelliSense 以及各种高级编辑功能的支持。 但是,因此,如果在语言服务中若要支持其他命令,则必须从该类派生类并重写相应的方法:

此外,还必须重写在 LanguageService 类的 CreateViewFilter 方法创建 ViewFilter 类版本的实例。

对调用者的说明

此类在又从在 CodeWindowManager 类的 OnNewView 方法调用 LanguageService 类的 CreateViewFilter 方法实例化,当视图附加到源文件时。

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.Package 命名空间