IVsTextMarkerContextProvider Интерфейс

Определение

Предоставляет контекст для меток текста в редакторе.

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 и передает указатель на контейнер контекста для редактора. Напишите реализацию этого метода, чтобы при вызове из среды вы обновите контекст для текстового маркера в контейнере контекста редактора. Дополнительные сведения см. в разделе Ивсусерконтекст:: 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)

Вызывается языковой службой для указания того, что контекст для текстового маркера должен быть добавлен в контекст.

Применяется к