Pull to refresh

Расширение Regex Tester для Visual Studio 2010

Reading time 2 min
Views 2.4K
Недавно у меня на работе кончилась пробная версия редактора регулярных выражений RegexBuddy. У нас с лицензиями всё строго, и я сразу удалил данную программу. Товарищи посоветовали попробовать онлайн редакторы в частности RegExr, он мне не понравился и я нашел другой RegexHero.

Но как то у нас временно не работала сеть и тогда я решил написать для себя маленькую утилиту для разбора текста с помощью регулярных выражений, создал WPF приложение, а для разбора текста использовать стал всем известный класс Regex, и уже через пол часа я воспользовался первой версией данной утилиты. Потом в течении двух недель я её доработал по мере необходимости и ловле мелких багов :). После выходных на работе поделился с коллегами, но все восприняли без комментариев очередную утилиту, которую нужно копировать или запускать по сети, кроме одного старшего(не по возрасту) товарища, который сказал, что было бы хорошо сделать её в виде расширения для Visual Studio 2010. И я начал думать о реализации своего расширения…

Создание расширения


Я уже слышал и читал, что делать плагины для VS 2010 легко. Но решил что сначала доведу до ума утилиту в текущем виде, а потом уже буду переносить её, прошла ещё неделя и я был готов. Cначала скачал Visual Studio 2010 SDK, потом немного почитал на www.codeproject.com кто как создавал расширения и конечно почитал MSDN.

Решил использовать тип проекта «Visual Studio Package», который как раз подходил к моим ожиданиям о легком переносе. При создании проекта открылся простой и понятный мастер(Wizard), в котором я выбрал добавление функциональности «Tool Window», проекты для тестирования я убрал, так как утилита у меня простая.

После создания открылся проект:
image

Я сразу обрадовался, как только увидел XAML и быстро скопировал из своего WPF приложения GUI и его CS часть и форма отобразилось в дизайнере, я нажал F5 и открылась экспериментальная студия, где я смог проверить своё расширение, которое нашел в View -> Other Windows -> Regex Test. В итоге оно работало абсолютно идентично:

image

При выделении из 9-и предложенных вариантов позиционирования, мне больше всего нравится по центру, т.е. в виде обычной вкладки.

Созданное мною расширение я использовал в течении 1 недели и дополнительно сделал:
— обработку в фоновом потоке, в процессе обработки окно расширения становится не активным.
— сделал сочетание горячих клавиш(по документации) для быстрого открытия окна утилиты по Shift+Alt+R, единственное которое было не занято из подходящих :)
— нарисовал иконку и сделал превью картинку для расширения
— заполнил source.extension.vsixmanifest в проекте, который открывается в удобном дизайнере.

И расширение для Visual Studio 2010 готово, назвал его просто: Regex Tester.

Особенности:


Могу выделить две особенности(фичи):
— Снизу справа есть ползунок для изменения размеров шрифтов для всего расширения.
— При использовании Match режима, можно дополнительно задать формат вывода результатов.
Например с помощью рег.выражения Вы вывели список городов, которые Вам необходимо вставить в XML в виде элементов. Вот скриншот интерфейса расширения в VS 2010 с описанным примером.

image

Буду очень рад, если данное расширение будет кому-нибудь полезно, пользуйтесь на здоровье!
Всем спасибо за внимание!
Tags:
Hubs:
+37
Comments 20
Comments Comments 20

Articles