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


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

Надстройки Visual Studio выступан сопоставления в Visual Studio 2013. Необходимо обновить для надстройки с расширениями VSPackage. Дополнительные сведения об обновлении см. в разделе Часто задаваемые вопросы. Преобразование надстроек в расширения VSPackage.

Проекты надстройки являются проектами библиотеки классов, создаваемыми с помощью Мастера надстроек и компилируемыми в 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 вызывается, когда пользователь выбирает команду надстройки в меню Сервис, и именно здесь необходимо добавить код для ответа на событие.

См. также

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

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

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

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