Pull to refresh
0

Возможности CodeRush for Roslyn для XAML

Reading time 3 min
Views 3.6K

Редактировать XAML-разметку в Visual Studio достаточно удобно благодаря таким фичам как IntelliSense, автозакрытие тэгов, сворачивание тэгов. Но при реальной работе с этими фичами приходит понимание, что XAML в чистой студии достаточно обособлен: например, плохо отслеживаются связи между кодом и разметкой. Это не позволяет чистой студии делать многие полезные вещи, которые умеет делать студия c CodeRush for Roslyn. Под катом подробности...




Навигация


Find References


Одна из наиболее важных задач среды разработки — поиск ссылок. В Visual Studio он есть, но CodeRush for Roslyn делает его полноценным: с этим расширением вы можете искать вхождения идентификатора не только в XAML, но и по коду во всем солюшне.



Документация


Tab to Next Reference


У нас также есть лёгкая версия поиска ссылок. Просто нажмите Tab. Если курсор находится на идентификаторе, он мгновенно переместится к следующему его использованию и одновременно подсветятся все вхождения. Чтобы перемещаться назад, можно использовать Shift+Tab.



Документация


Jump to Resource


F12 работает в XAML. Можно переходить на ResourceDictionary.Source или на Image.Source.



Документация


Jump to Symbol Declaration


Помимо референсов, можно быстро перейти к месту объявления идентификатора, причем не важно где идентификатор объявлен, в коде или в разметке.



Документация


Форматирование разметки


Format XAML Document


XAML полезно форматировать. Есть разные подходы к форматированию XAML: можно вручную, можно использовать онлайн-инструменты для форматирования XML, а можно воспользоваться фичей CRR.
Прямо в Visual Studio.



У нашего форматтера гибкая конфигурация и он крайне удобен в работе.



Break Apart/LineUp Attributes


Часть возможностей форматтера доступна в виде отдельных фич, например одним кликом можно разбивать атрибуты по одному на строку, или сворачивать все в одну строку.



Документация


Рефакторинги


Import Type/All Types


При копировании фрагмента кода в проект, CRR помогает правильно заполнить заголовок XAML файла.


Документация


Optimize Namespace References


У нас есть рефакторинг Optimize Namespace References, он приводит в порядок референсы на пространства имен в XAML: сортирует их и убирает ненужные.
Этот рефакторинг будет полезен тем, кто еще работает в Visual Studio 2015. В последней версии студии он есть из коробки.


Convert Nested Element to Attribute/Attribute to Nested Element


Этот рефакторинг позволяет вытащить аттрибут из тэга и сделать его вложенным элементом. Так же, у нас есть обратный рефакторинг — можно сделать вложенные элементы аттрибутами.


Визуализация


Show Color


Эта фича представляет собой декоратор, который визуализирует цвет, заданный шестнадцатеричным значением в XAML.



По клику на полосу открывается диалог в котором можно поменять цвет.



Region Painting


В CRR по-своему реализованна отрисовка регионов. Наша версия удобнее тем, что имя региона отображается на закрывающем тэге.


Документация


Помощь в написании разметки


Templates


Шаблоны CodeRush работают в XAML в полном объеме. Можно использовать встроенные шаблоны или писать свои с учётом ваших потребностей.



Selection Embedding


Когда нужно положить определённый блок разметки внутрь какого-либо тэга, приходится несколько раз перемещать курсор, потом форматировать. Чтобы упростить этот процесс у нас есть фича Selection Embedding, которая помещает выделение внутрь тэга одним кликом. Благодаря фичам Selection Expand и Include Previous/Next Element, можно даже не выделять необходимый блок мышкой/стрелочками, а просто нажимать горячие клавиши для управления выделением.


Paste Vector Drawing as XAML


Копируем из иллюстратора



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



Также мы поддерживаем копирование векторов из Microsoft Visio, Microsoft PowerPoint.


Документация


Smart Duplicate Line


Для ускорения написания однотипных конструкций с небольшими изменениями у нас есть Smart Duplicate Line пытается определить изменяемые части в дублированной строке и помогает, например, инкрементирует числа и создает филды на переменных частях.



Большинство примеров этой статьи было сделано на исходных текстах открытой библиотеки Material Design in XAML Toolkit.


Скачать попробовать можно в Visual Studio Marketplace.

Tags:
Hubs:
+14
Comments 11
Comments Comments 11

Articles

Information

Website
www.developersoft.ru
Registered
Founded
1998
Employees
201–500 employees
Location
Россия