Надстройки и мастера

Оценить
(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…
Оценить
(0 голоса)
Надстройками Visual Studio можно управлять при помощи менеджера Add-in Manager в Vis­ual Studio. Он позволяет вам сделать две вещи: загрузить и выгрузить любую зарегистриро­ванную надстройку и указать, как надстройку можно загружать. Для доступа к Add-in Man­ager (рис. 13.9) выберите меню Tools | Add-in Manager. Рис. 13.9. Управление надстройками Это диалоговое окно будет всегда выводить список всех имеющихся на локальном компьюте­ре надстроек. Установка или снятие флажка рядом с названием надстройки приведет к немед­ленной загрузке или выгрузке надстройки. Флажок Startup определяет— будет ли данная надстройка загружаться автоматически при запуске Visual Studio. Флажок Command Line вы­полняет то же самое для случая, когда Visual…
Оценить
(0 голоса)
Для программного управления надстройками используйте коллекцию DTE.Addins, которая содержит экземпляр Addin для каждой зарегистрированной надстройки (как загруженной, так и нет). Вы можете напрямую ссылаться на надстройки (из коллекции DTE.Addins) по их имени следующим образом: Addin addin = this.DTE.Addins.ItemC'MyFirstAddln"); Вы можете использовать свойства объекта надстройки для того, чтобы определить — загружена ли она, узнать ее имя, а также получить ProglD надстройки. bool isLoaded = addin.Connected; string паше = addin.Name; string id = addin.ProglD; Примечание Мы используем термин "зарегистрированный" для обозначения надстройки, которая была инсталлирована на локальном компьютере и зарегистрирована в Visual Studio. В версиях до Visual Studio 2005 это означало, что…
Оценить
(0 голоса)
Для начала процесса разработки вы создаете новое решение и проект типа Visual Studio Add-in с именем ColorSelectorAddln. Мастер Add-in Wizard создаст для вас код внутри клас­са Connect (точно так же, как это было сделано в начале данной главы). Класс Connect — это то место, где должен находиться весь код для интегрированной среды и код специфич­ный для объектной модели расширяемости. Кроме основных инструкций надстройки вам понадобится также создать класс типа User Control, который инкапсулирует пользовательский интерфейс, а также логику обработки для надстройки.
Оценить
(0 голоса)
Сначала вы можете заняться размещением пользовательского элемента управления там, где имеются все нужные вам функциональные возможности. После того как у вас появится ра­бочий элемент управления, вы можете начать подключать его к Visual Studio при помощи класса Connect (созданного мастером Add-in Wizard). Рис. 13.10. Пользовательский элемент управления PaletteControl Добавьте пользовательский элемент управления PaletteControl в проект надстройки (при по­мощи выбора Project | Add User Control). После добавления элемента управления вы должны поместить девять элементов управления на поверхность конструирования пользовательского элемента управления. Во-первых, добавьте поле изображения; оно будет использоваться для показа цветовой палитры, хранимой как простое растровое изображение в файле ресурса (в данном…
«ПерваяПредыдущая123СледующаяПоследняя»
Навигация
© 2017 www.visualstudios.ru. Все права защищены.