Поделиться через


Поддержка средства просмотра символов

Обозреватель объектов" Окно классов" Обозреватель вызовов и Результаты поиска символа средства обеспечивают символ при просмотре возможности в Visual Studio. Эти средства отображают иерархическое представление в виде дерева символов и отображают связи между символами в дереве. Символы могут представлять пространства имен объектов, классы, члены класса и другие элементы языка, содержащихся в разных компонентах. Компоненты включают проекты Visual Studio, внешние компоненты и библиотеки типов (.tlb). Дополнительные сведения см. в разделе Просмотр структуры кода.

Символ-Просмотреть библиотеки

В реализации языка, можно расширить возможности Visual Studio символ-просмотря путем создания библиотеки, которые отслеживают символы в компонентах и приводятся списки символов диспетчер объекта Visual Studio с помощью набора интерфейсов. Библиотека описана IVsSimpleLibrary2 интерфейс. Диспетчер объекта Visual Studio отвечает на запросы для новых данных с символ-просмотря средств путем получения данных из библиотек и организации. Он затем заполняет или обновлении средств с данными. Получить ссылку на него объекта Visual Studio IVsObjectManager2передайте SVsObjectManager идентификатор службы GetService метод.

Каждая библиотека должна зарегистрировать с помощью объекта Visual Studio, который собирает сведения обо всех библиотеках. Чтобы зарегистрировать библиотеку, вызовите RegisterSimpleLibrary метод. В зависимости от того, программа инициирует запрос диспетчеру объекта Visual Studio найдет нужную библиотеку и запрашивает данные. Данные передаются между библиотеками и Visual Studio диспетчер объекта в списках символов, описанных IVsSimpleObjectList2 интерфейс.

Visual Studio диспетчер периодически обновлять объекта отвечает за символ-просмотрящ средства для текущие данные, которые содержатся в библиотеках.

Схема содержит образец ключевых положений ниже запросов/процесса обмена данными между библиотекой и менеджером объектов Visual Studio. Интерфейсы в схеме является частью приложения управляемого кода.

Поток данных между библиотекой и менеджером объекта

Для реализации списков символов диспетчер объекта Visual Studio, сначала необходимо зарегистрировать библиотеку с диспетчером объекта Visual Studio путем вызова RegisterSimpleLibrary метод. После того как библиотека зарегистрирована диспетчер объекта Visual Studio запрашивает некоторое сведения о возможностях библиотеки. Например, она запрашивает флаги библиотеки и поддерживаемые категории путем вызова GetLibFlags2 и GetSupportedCategoryFields2 методы. Рано или поздно, когда средств запрашивать данные из этой библиотеки диспетчера объектов запрашивает список символов верхнего уровня, вызвав GetList2 метод. В ответе библиотека изготавливает список символов и представляет его на него объекта с помощью Visual Studio IVsSimpleObjectList2 интерфейс. Visual Studio диспетчер объекта определяет, сколько элементов в списке путем вызова GetItemCount метод. Все приведенные ниже запросы, относящиеся к данному элементу в списке и предоставляют номер индекса элемента в каждом запросе. Диспетчер объекта Visual Studio продолжает собирать сведения о типе специальных возможностях и других свойствах элемента, вызвав GetCategoryField2 метод.

Он определяет имя элемента, вызвав GetDisplayData метод и запросы данные значка путем вызова GetTextWithOwnership метод. Значок отображается слева от имени элемента и отображает тип элемента специальных возможностей и других свойств.

GetExpandable3 диспетчер объекта вызывает Visual Studio метод позволяет определить, является ли данный элемент списка расширяем и имеет дочерние элементы. Если пользовательский интерфейс отправляет запрос развернуть элемент, то диспетчер объектов запрашивает список дочерних элементов символов, вызвав GetList2 метод. Процесс продолжается с разными частями дерева создаваемый по запросу.

Примечание

Для реализации поставщика символов, используйте машинного кода IVsLibrary2 и IVsObjectList2 интерфейсы.

См. также

Задачи

Практическое руководство. Регистрация библиотеки с диспетчером объектов

Практическое руководство. Предоставление доступа к спискам символов из библиотеки диспетчеру объектов

Практическое руководство. Определение символы в библиотеке