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 对象。 |
页首
方法
页首
显式接口实现
名称 | 说明 | |
---|---|---|
![]() ![]() |
IOleCommandTarget.Exec | 一个支持的命令处理执行。 |
![]() ![]() |
IOleCommandTarget.QueryStatus | 确定指定的命令在特定命令组中是否支持。 |
页首
备注
除了光标外,输入之前,退,并且, delete 键命令,此基类提供以下命令支持:
Command |
说明 |
---|---|
IntelliSense:从成员的选择的成员列表。 |
|
IntelliSense:显示成员列表。 |
|
IntelliSense:完成类型化的单词。 |
|
IntelliSense:显示参数信息。 |
|
IntelliSense:显示有关标识符的信息。 |
|
edit (高级):转到定义。 |
|
edit (高级):转到声明。 |
|
edit (高级):转到引用。 |
|
edit (高级):注释代码范围。 |
|
edit (高级):取消注释代码范围。 |
|
edit (概述):停止大纲显示。 |
|
edit (概述):切换大纲显示。 |
|
编辑:显示一个上下文菜单。 |
对实现者的说明
此类已实现所有 IntelliSense 以及各种高级编辑功能的支持。 但是,因此,如果在语言服务中若要支持其他命令,则必须从该类派生类并重写相应的方法:
QueryCommandStatus (指示为命令支持)
QueryParameterList (如果命令需要参数)
HandlePreExec (如果命令需要某种设置)
HandlePostExec (如果命令需要在执行后清理)。
ExecCommand (执行命令)。
此外,还必须重写在 LanguageService 类的 CreateViewFilter 方法创建 ViewFilter 类版本的实例。
对调用者的说明
此类在又从在 CodeWindowManager 类的 OnNewView 方法调用 LanguageService 类的 CreateViewFilter 方法实例化,当视图附加到源文件时。
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。