Расширенные возможности Visual Studio
Оценить
(0 голоса)
После выбора языка вы получаете вопрос о "хост-приложении". Эта страница просто спра­шивает вас о том, где вы хотите выполнять надстройку. Поскольку вы указали, что это надстройка для Visual Studio (Visual Studio Add-in), а не совместно используемая надстройка, то ваши варианты хостов будут такими: интегриро­ванная среда Visual Studio (Visual Studio IDE) или интегрированная среда Macros (Macros IDE). Visual Studio 2008 имеет возможность вести разработку под различные версии ин­тегрированной среды. Например, если у вас есть Visual Studio 2005, которая инсталлиро­вана рядом с Visual Studio 2008, то у вас будут варианты разработки вашей надстройки под обе версии. На рис. 13.3 обратите внимание на…
Оценить
(0 голоса)
Название и описание, которые вы вводите на странице 3 мастера (рис. 13.4), становятся видны в Add-in Manager тогда, когда вы выбираете данную надстройку. Эта информация предназначена для того, чтобы дать пользователям представление о функциональности над­стройки и ее цели.
Оценить
(0 голоса)
Следующая страница мастера (рис. 13.5) позволяет вам указывать различные опции над­стройки. Вы можете указать: хотите ли вы, чтобы модуль появился в меню Tools; когда вам нужно загружать модуль; и может ли модуль показывать модальные окна во время своей работы.
Оценить
(0 голоса)
Предпоследняя страница мастера принимает тот текст, который Visual Studio будет отобра­жать в своем окне About (рис. 13.6).
Оценить
(0 голоса)
Сюда можно включить такие подробности, как контактные данные автора надстройки (для связи с пользователями), информацию о поддержке и лицензировании, а также информацию о версии и авторском праве и т. д. Последняя страница мастера содержит сводку всех выбранных вами опций. После нажатия кнопки Finish мастер начнет создавать код для вашей надстройки (на основе всех сделанных вами в мастере настроек). Поскольку надстройки — это dll-файлы, то мастер Add-in Wizard создаст исходный код над­стройки (как часть проекта библиотеки классов в интегрированной среде). Этот первичный файл с кодом реализует класс Connect. Этот класс наследует от всех необходимых СОМ- интерфейсов (для того чтобы надстройка работала…
Оценить
(0 голоса)
Первое, что необходимо отметить, — это то, что класс Connect наследует от двух разных интерфейсов: IDTCommandTarget и IDTExtensibility2. public* class Connect : IDTExtensibility2, IDTCommandTarget Интерфейс IDTCommandTarget обеспечивает функциональность, необходимую для предо­ставления надстройки через панель команд. Код для наследования от этого интерфейса был добавлен мастером (поскольку на странице 4 мастера надстроек был поставлен флажок Yes, create a tools menu item). Интерфейс lDTExtensibility2'предоставляет надстройкам возможности работы с собы­тиями. Он отвечает за все события, которые происходят в течение всего времени жизни над­стройки.
Оценить
(0 голоса)
При загрузке и выгрузке в хост-приложении надстройка проходит через целую череду собы­тий. Каждое из этих событий представлено методом, определенным в интерфейсе !DTExtensibility2. Эти методы описаны в табл. 13.1. Диаграммы на рис. 13.7 и рис. 13.8 показывают, как эти методы (которые представляют со­бой события) укладываются в процесс нормальной загрузки и выгрузки надстройки. Если вы вернетесь назад к коду шаблона для надстройки, то увидите, что каждый из этих методов IDTExtensibility2 реализован. Методы OnDisconnection, OnAddlnsUpdate, OnStartupComplete и OnBeginShutdown пусты; мастер реализовал только их сигнатуру. Однако метод OnConnection уже имеет порядочное количество кода (и это еще до того, как вы приложили к нему руки).…
Оценить
(0 голоса)
Метод OnDisconnection выполняется тогда, когда надстройка выгружается из Visual Studio. Это действие противоположно тому, о котором сообщает метод OnConnection. Так же, как и . для OnConnection, для этого метода предоставляется перечисление (ext DisconnectMode), которое указывает, как была инициирована выгрузка. Список воз­можных значений ext DisconnectMode см. в табл. 13.3. Вот метод OnDisconnection: III <summary>Реализует метод OnDisconnection интерфейса III IDTExtensibility2. Получает уведомление, что дополнительный /// модуль выгружается.</summary> III <param term='disconnectMode'>Описывает, как дополнительный модуль III выгружается.</param> III <param term='custom'>Массив параметров, специфичных для III хост-приложения.</param> /// <seealso class='IDTExtensibility2' /> public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom) { }
Оценить
(0 голоса)
Если надстройка настроена на автоматическую загрузку во время запуска Visual Studio, то метод OnStartupComplete сработает после загрузки надстройки. Вот метод OnStartupComplete: II/ <зиттагу>Реализует метод OnStartupComplete интерфейса III IDTExtensibility2. Получает уведомление, что хост-приложение /// закончило загружаться.</summary> III <param term='custom'>Массив параметров, специфичных для /// хост-приложения.</param> /// <seealso class='IDTExtensibility2' /> public void OnStartupComplete(ref Array custom) { }
Оценить
(0 голоса)
Надстройки могут реагировать на команды, выдаваемые внутри интегрированной среды. Если вы помните из обсуждения команд в главах 11 и 12, то это делается при помощи кон­цепции "именованных команд". Именованная команда — это просто действие, которое име­ет имя. Вы уже знаете, что Visual Studio имеет огромный список собственных команд, кото­рые соответствуют широкому разнообразию действий, имеющихся в интегрированной среде. Используя коллекцию Commands/Commands2, вы можете создать собственные имено­ванные команды (при помощи метода AddNamedCommand2). Еще раз возвратимся к анализу метода OnConnection: мастер создал тело кода, отвечающе­го за создание новой именованной команды, добавление ее в меню Tools и для последующе­го реагирования на команду. Метод IDTCommandTarget…
© 2017 www.visualstudios.ru. Все права защищены.