IVsTextMarkerContextProvider 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在核心编辑器中为文本标记提供上下文。
public interface class IVsTextMarkerContextProvider
public interface class IVsTextMarkerContextProvider
__interface IVsTextMarkerContextProvider
[System.Runtime.InteropServices.Guid("F1671B6B-1090-4DFF-BBFD-133EB428BB6C")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsTextMarkerContextProvider
[<System.Runtime.InteropServices.Guid("F1671B6B-1090-4DFF-BBFD-133EB428BB6C")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsTextMarkerContextProvider = interface
Public Interface IVsTextMarkerContextProvider
- 属性
注解
对于 "核心编辑器" 中的每个文本标记类型,环境将创建一个单独的 IVsTextMarkerContextProvider 对象 () 文本标记。 每当编辑器中的光标位于文本标记之上时,环境将进行查询以查看是否 IVsTextMarkerContextProvider 实现了接口。 如果实现了此接口,则环境将调用 UpdateContextForMarker 并向编辑器传递指向上下文包的指针。 编写此方法的实现,以便在由环境调用时,在编辑器的上下文包中更新文本标记的上下文。 有关详细信息,请参阅 IVsUserContext:: AddAttribute 。
当编辑器的光标离开文本标记时,环境将调用 UpdateContextForMarker 并向您传递一个指向编辑器上下文包的指针,以允许您删除最后一个文本标记的上下文。 有关详细信息,请参阅 RemoveAttribute。
备注
在更新过程中,Visual Studio 核心编辑器提供了文本标记以及游标中的关键字。
使用以下步骤将文本标记的上下文添加到 " 动态帮助 " 窗口:
MV_CONTEXT_CONTRIBUTION_FOR_BODY通过调用 SetVisualStyle 并指定此值来启用视觉样式位。
创建文本标记时,传递文本标记客户端 (IVsTextMarkerClient 也实现的)
IVsTextMarkerContextProvider。
IVsTextMarkerContextProvider每次添加上下文时,都将调用您的实现两次,一次在添加上下文时调用一次,并在上下文删除时调用一次。
实施者说明
由语言服务实现,以提供文本标记的上下文 (例如,Visual Studio 核心编辑器) 的编译器错误。 核心编辑器调用上的 QueryInterface IVsTextLayerMarker 以返回指向的指针 IVsTextMarkerContextProvider 。
调用方说明
由 Visual Studio 核心编辑器调用以指示上下文正在更新。
方法
| RemoveLastContext(UInt32, Object) |
已否决。 请勿使用。 |
| UpdateContextForMarker(UInt32, Object) |
由语言服务调用,以指示应将文本标记的上下文添加到上下文包。 |