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


Компоненты проекта надстройки

Обновлен: Ноябрь 2007

Проекты надстройки являются проектами библиотеки классов, создаваемыми с помощью Мастера надстроек и компилируемыми в DLL. Проекты надстройки содержат файл исходного кода с именем Connect, также являющимся именем класса. Класс Connect реализует интерфейс IDTExtensibility2, передающий команды между надстройкой и интегрированной средой разработки Visual Studio.

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

Метод

Описание

OnConnection

Этот метод вызывается при загрузке надстройки в Visual Studio.

OnStartupComplete

Этот метод вызывается по завершении загрузки Visual Studio.

OnAddInsUpdate

Этот метод вызывается при загрузке или выгрузке надстройки из Visual Studio.

OnBeginShutdown

Этот метод вызывается при закрытии Visual Studio.

OnDisconnection

Этот метод вызывается при выгрузке надстройки из Visual Studio.

Если при использовании Мастера надстроек для создания надстройки выбран пользовательский интерфейс, интерфейс IDTCommandTarget автоматически реализуется в дополнение к интерфейсу IDTExtensibility2. Если решено создать панели команд в надстройке или работать с ними, необходимо также реализовать пространство имен Microsoft.VisualStudio.CommandBars.

Метод OnConnection

Метод OnConnection, определенно, является наиболее важным методом, используемым в проектах надстроек, поскольку он вызывается при каждой загрузке надстройки. Более того, он используется для вызова другого кода автоматизации в надстройке. Метод OnConnection передается четырем параметрам: Application, ConnectMode, AddInInst и custom. Application представляет интегрированную среду разработки Visual Studio. Это приведение как объект DTE2 с именем _applicationObject. Этот объект представляет собой главный объект в основной модели автоматизации и предоставляет доступ ко всем ее типам и членам. ConnectMode (чьи значения содержатся в Extensibility.extConnectMode) представляет способ загрузки надстройки; т.е. с помощью командной строки, открыв решение и т.д. AddInInst представляет саму надстройку. Параметр custom является массивом, в котором есть возможность передачи данных в надстройку.

Помимо инициализации этих переменных OnConnection содержит код для создания команды надстройки в меню Сервис, если эта возможность была выбран при создании надстройки с помощью Мастера надстроек.

Другие методы надстройки

Остальные четыре метода надстройки, реализуемые с помощью Мастер надстроек, являются пустыми по умолчанию. Эти методы можно использовать для реагирования на события, связанные с надстройкой. Например, можно добавить код к методу OnAddInsUpdate для отправки уведомления другой процедуре при закрытии надстройки. Можно вызвать OnBeginShutdown для выполнения задач очистки при завершении работы интегрированной среды разработки Visual Studio.

Если при создании надстройки установить флажок "Создать интерфейс панели команд для надстройки?" (для создания команды надстройки в меню Сервис), будет реализован интерфейс IDTCommandTarget. Два дополнительных метода — QueryStatus и Exec — добавляются в проект надстройки для обработки задач команд. Эти методы содержат небольшую часть кода для размещения команды в меню Сервис и реагируют на нажатия пользователя. QueryStatus сообщает надстройке о доступности команды. Метод Exec вызывается, когда пользователь выбирает команду надстройки в меню Сервис, и именно здесь необходимо добавить код для ответа на событие.

См. также

Основные понятия

Проекты расширения среды

Другие ресурсы

Создание надстроек и мастеров