Выбор и актуальность в интегрированной среде разработки
Интегрированная среда разработки Visual Studio (IDE) сохраняет сведения о выбранных в данный момент объектах пользователей с помощью контекста выбора. С контекстом выбора VSPackages может принимать участие в отслеживании валют двумя способами:
Распространяя денежные сведения о VSPackages в интегрированную среду разработки.
Отслеживая активные выборы пользователей в интегрированной среде разработки.
Контекст выбора
Интегрированная среда разработки Visual Studio глобально отслеживает валюту интегрированной среды разработки в собственном объекте контекста выбора. В следующей таблице показаны элементы, составляющие контекст выделения.
Элемент | Description |
---|---|
Текущая иерархия | Обычно текущий проект; Текущая иерархия NULL указывает, что решение в целом является текущим. |
Текущий идентификатор элемента | Выбранный элемент в текущей иерархии; Если в окне проекта несколько выборок, может быть несколько текущих элементов. |
Текущего SelectionContainer |
Содержит один или несколько объектов, для которых окно свойств должны отображаться свойства. |
Кроме того, среда поддерживает два глобальных списка:
Список активных идентификаторов команд пользовательского интерфейса
Список типов активных элементов.
Типы окон и выбор
Интегрированная среда разработки Visual Studio упорядочивает окна в два общих типа:
Окна типа иерархии
Окна кадров, такие как окна инструментов и документов
Интегрированная среда разработки отслеживает валюту по-разному для каждого из этих типов окон.
Наиболее распространенное окно типа проекта — обозреватель решений, который управляет интегрированной среды разработки. Окно типа проекта отслеживает глобальную иерархию и ItemID контекста глобального выбора, а окно зависит от выбора пользователя для определения текущей иерархии. Для окон типов проекта среда предоставляет глобальную службу SVsShellMonitorSelection, с помощью которой VSPackages может отслеживать текущие значения открытых элементов. Просмотр свойств в среде управляется этой глобальной службой.
Окна кадров, с другой стороны, используйте DocObject в окне кадра, чтобы отправить значение SelectionContext (иерархия/ItemID/SelectionContainer trio). . Окна кадров используют службу SVsShellMonitorSelection для этой цели. DocObject может отправлять только значения для контейнера выбора, оставляя локальные значения иерархии и ItemID без изменений, как обычно для дочерних документов MDI.
События и валюта
Могут возникать два типа событий, влияющих на понятие валюты среды:
События, распространяемые на глобальный уровень и изменяющие контекст выбора кадра окна. Примеры такого рода событий включают открывающееся окно MDI Child, открытое глобальное окно инструментов или открывающееся окно средства типа проекта.
События, изменяющие элементы, трассированные в контексте выбора кадра окна. Примеры включают изменение выделения в docObject или изменение выбора в окне типа проекта.