[Из песочницы] Разработка и встраивание расширений .vsix в Visual Studio на C# для чайников

Для кого эта статья Странно говорить о таких понятиях, как расширение функционала такого продукта, как Visual Studio в контексте «для чайников», но есть люди, которые и журналы смотрят с последней страницы. Эта статья для тех, кто уже имеет представление как обращаться со студией, но пока мало знает, чем она может помочь, и уже очень хочется добавить свою фичу.Ожидаемые результаты Научиться создавать и встраивать VSPackage расширения в VS 2012, на примере расширения для запуска калькулятора прямо из студии.Что потребуется Для разработки расширения потребуется сама студия, я воспользуюсь VS 2012, а также необходимо установить VS SDK 2012. Отмечу, что для разработки в VS 2010 есть VSPackage Builder, и этот инструмент помогает создавать расширения в дизайнере. Мы же обойдемся только шаблоном проекта предоставляемого SDK.Шаг 1. Создаем проект Файл→Создать→Проект→Шаблоны→Другие типы проектов-Расширение среды→Visual Studio Package и задаем имя проекта VSPackageCalc.Далее следуем указаниям мастера, обратив внимание на следующие окна

Шаг 2. Редактируем способ запуска и отображение кнопки в студии Искомый файл: VSPackageCalc.vsct — файл с расширением .vsctОпределимся где отобразить кнопку и как запускать расширение, Отмечу два варианта отображения: — добавление пункта меню в меню «Сервис»— добавление панели кнопок в тулбар

Группа команд для меню «Сервис» задается так (код уже сгенерирован):

Как будет назваться панель инструментов в меню панелей инструментов (оставим имя по умолчанию VSPackageCalc Toolbar):

VSPackageCalc Toolbar Честно говоря идентификаторов типа IDM_VS_MENU_TOOLS, указывающих в какой раздел меню можно поместить вывоз функции расширения, много, и разбираться со всеми не входит в рамки статьи, но кое-что можно почерпнуть в MSDNДалее определимся с видом кнопки тулбара. Сначала удалим лишнее кнопки из нашего тулбара (по умолчанию создаются инструменты для редактирования), заменив код с описанием группы кнопок тулбара расширения:

… на код одного элемента тулбара: Далее можно редактировать текст и отображения самого пункта меню: Можно удалить элемент Icon (иконку), и тогда будет отображаться только текст. Иначе при отображении в тулбаре будет иконка, а чтобы показать и текст к ней, придется настраивать отдельно через инструмент настройки отображения кнопок тулбара в самой студии.Шаг 3. Описание функционала расширения Для задания функционала нашего расширения, его нужно описать в файле VSPackageCalcPackage.cs, отредактировав метод обработки нажатия на кнопку меню, который также был уже сгенерирован при создании проекта. Удалим все, что внутри метода и заменим на запуск приложения — стандартного калькулятора: private void MenuItemCallback (object sender, EventArgs e) { // Запуск процесса: Process.Start («Calc.exe»); } Шаг 4. Встраивание расширения Ну вот почти и готово, осталось только собрать проект и в папке построения запустить VSPackageCalc.vsix.Процесс установки e4022bba4b9d4383a317ae3d38021a0b.JPG После установки необходимо перезапустить студию.Шаг 5. Использование встроенной фичи Запуск из меню Сервис 32bd1ca20e494b3c97be05673bcb2928.jpg Запуск из тулбара Сначала нужно добавить панель инструментов VSPackageCalc Toolbar средствами VS — правая мышь по тулбару и отметить галочкой. Тула появилась на панели: 8dbec7df78f54e5bbc065eb04936a169.JPG

Заключение Пусть фича не очень полезная и не сложная получилась, но, надеюсь, полученные знания подтолкнут к более глубокому изучению вопроса разработки расширений для Visual Studio.

© Habrahabr.ru