为核心编辑器中的文本标记提供上下文。
命名空间: Microsoft.VisualStudio.TextManager.Interop
程序集: Microsoft.VisualStudio.TextManager.Interop(在 Microsoft.VisualStudio.TextManager.Interop.dll 中)
语法
声明
<GuidAttribute("F1671B6B-1090-4DFF-BBFD-133EB428BB6C")> _
<InterfaceTypeAttribute()> _
Public Interface IVsTextMarkerContextProvider
[GuidAttribute("F1671B6B-1090-4DFF-BBFD-133EB428BB6C")]
[InterfaceTypeAttribute()]
public interface IVsTextMarkerContextProvider
[GuidAttribute(L"F1671B6B-1090-4DFF-BBFD-133EB428BB6C")]
[InterfaceTypeAttribute()]
public interface class IVsTextMarkerContextProvider
[<GuidAttribute("F1671B6B-1090-4DFF-BBFD-133EB428BB6C")>]
[<InterfaceTypeAttribute()>]
type IVsTextMarkerContextProvider = interface end
public interface IVsTextMarkerContextProvider
IVsTextMarkerContextProvider 类型公开以下成员。
方法
名称 | 说明 | |
---|---|---|
![]() |
RemoveLastContext | 已否决。不要使用。 |
![]() |
UpdateContextForMarker | 调用语言服务指示应添加文本标记的上下文到上下文包。 |
页首
备注
对于每个文本标记输入核心编辑器,环境创建单独的 IVsTextMarkerContextProvider 对象 (文本标记)。 每当在编辑器中光标在文本标记,请参见环境的查询 IVsTextMarkerContextProvider 接口是否已实现。 如果此接口由实现,则该环境调用 UpdateContextForMarker 并通过指向编辑器的上下文包。 编写此方法的实现,这样,当调用由环境,将更新文本标记的上下文在编辑上下文包。 有关更多信息,请参见 IVsUserContext::AddAttribute。
在编辑的光标离开文本标记时,该环境调用 UpdateContextForMarker 并通过指向编辑上下文包允许您移除最后一个文本标记的上下文。 有关更多信息,请参见 RemoveAttribute。
备注
在更新过程中, Visual Studio 核心编辑器提供文本标记除了关键字以外在光标。
使用以下步骤添加文本标记的上下文。 动态帮助 窗口:
打开名为 SetVisualStyle 并指定位的 MV_CONTEXT_CONTRIBUTION_FOR_BODY 视觉样式此值。
在创建文本标记时,请通过在客户端的文本标记 (IVsTextMarkerClient)。还实现 IVsTextMarkerContextProvider。
IVsTextMarkerContextProvider 实现两次调用,在环境中添加时,,对于,在上下文中添加,并且更,将移除时上下文。
对实现者的说明
实现由语言服务提供文本标记提供上下文 (例如,编译器错误) 在 Visual Studio 核心编辑器。 核心编辑器对 IVsTextLayerMarker 的 QueryInterface 返回指向 IVsTextMarkerContextProvider。
对调用者的说明
调用由 Visual Studio 核心编辑器指示上下文更新。