Для кого эта статья
Странно говорить о таких понятиях, как расширение функционала такого продукта, как Visual Studio в контексте «для чайников», но есть люди, которые и журналы смотрят с последней страницы. Эта статья для тех, кто уже имеет представление как обращаться со студией, но пока мало знает, чем она может помочь, и уже очень хочется добавить свою фичу.
Ожидаемые результаты
Научиться создавать и встраивать VSPackage расширения в VS 2012, на примере расширения для запуска калькулятора прямо из студии.
Что потребуется
Для разработки расширения потребуется сама студия, я воспользуюсь VS 2012, а также необходимо установить VS SDK 2012. Отмечу, что для разработки в VS 2010 есть VSPackage Builder , и этот инструмент помогает создавать расширения в дизайнере. Мы же обойдемся только шаблоном проекта предоставляемого SDK.
Шаг 1. Создаем проект
Файл->Создать->Проект->Шаблоны->Другие типы проектов-Расширение среды->Visual Studio Package и задаем имя проекта VSPackageCalc.
Шаг 2. Редактируем способ запуска и отображение кнопки в студии
Искомый файл: VSPackageCalc.vsct — файл с расширением .vsct
Определимся где отобразить кнопку и как запускать расширение, Отмечу два варианта отображения:
— добавление пункта меню в меню «Сервис»
— добавление панели кнопок в тулбар
Группа команд для меню «Сервис» задается так (код уже сгенерирован):
<Group guid="guidVSPackageCalcCmdSet" id="MyMenuGroup" priority="0x0600"> <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/> </Group>
Как будет назваться панель инструментов в меню панелей инструментов (оставим имя по умолчанию VSPackageCalc Toolbar):
<Menu guid="guidVSPackageCalcCmdSet" id="IDM_TLB_RTF" priority="0x0000" type="Toolbar"> <Parent guid="guidVSPackageCalcCmdSet" id="0"/> <Strings> <ButtonText>VSPackageCalc Toolbar</ButtonText> </Strings> </Menu>
Честно говоря идентификаторов типа IDM_VS_MENU_TOOLS, указывающих в какой раздел меню можно поместить вывоз функции расширения, много, и разбираться со всеми не входит в рамки статьи, но кое-что можно почерпнуть в MSDN
Далее определимся с видом кнопки тулбара. Сначала удалим лишнее кнопки из нашего тулбара( по умолчанию создаются инструменты для редактирования), заменив код с описанием группы кнопок тулбара расширения:
<!-- Toolbar groups --> <Group guid="guidVSPackageCalcCmdSet" id="IDG_RTF_TLB_FONT1" priority="0x0100"> <Parent guid="guidVSPackageCalcCmdSet" id="IDM_TLB_RTF"/> </Group> ...
на код одного элемента тулбара:
<!-- Toolbar groups --> <Group guid="guidVSPackageCalcCmdSet" id="MyMenuGroup" priority="0x0100"> <Parent guid="guidVSPackageCalcCmdSet" id="IDM_TLB_RTF"/> </Group>
Далее можно редактировать текст и отображения самого пункта меню:
<Button guid="guidVSPackageCalcCmdSet" id="cmdidCalcStart" priority="0x0100" type="Button"> <Parent guid="guidVSPackageCalcCmdSet" id="MyMenuGroup" /> <Icon guid="guidImages" id="bmpPic1" /> <Strings> <ButtonText>Калькулятор</ButtonText> </Strings> </Button>
Можно удалить элемент Icon (иконку), и тогда будет отображаться только текст. Иначе при отображении в тулбаре будет иконка, а чтобы показать и текст к ней, придется настраивать отдельно через инструмент настройки отображения кнопок тулбара в самой студии.
Шаг 3. Описание функционала расширения
Для задания функционала нашего расширения, его нужно описать в файле VSPackageCalcPackage.cs, отредактировав метод обработки нажатия на кнопку меню, который также был уже сгенерирован при создании проекта. Удалим все, что внутри метода и заменим на запуск приложения — стандартного калькулятора:
private void MenuItemCallback(object sender, EventArgs e) { // Запуск процесса: Process.Start("Calc.exe"); }
Шаг 4. Встраивание расширения
Ну вот почти и готово, осталось только собрать проект и в папке построения запустить VSPackageCalc.vsix.
После установки необходимо перезапустить студию.
Шаг 5. Использование встроенной фичи
![](http://habrastorage.org/files/32b/d1c/a20/32bd1ca20e494b3c97be05673bcb2928.jpg)
Заключение
Пусть фича не очень полезная и не сложная получилась, но надеюсь полученные знания подтолкнут к более глубокому изучению вопроса разработки расширений для Visual Studio.
ссылка на оригинал статьи http://habrahabr.ru/post/258051/
Добавить комментарий