- PVSM.RU - https://www.pvsm.ru -

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

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

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

Навигация

Find References

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

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

Tab to Next Reference

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

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

Jump to Resource

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

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

Jump to Symbol Declaration

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

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

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

Format XAML Document

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

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

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

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

Break Apart/LineUp Attributes

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

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

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

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

Import Type/All Types

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

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

Optimize Namespace References

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

Convert Nested Element to Attribute/Attribute to Nested Element

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

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

Show Color

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

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

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

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

Region Painting

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

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

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

Templates

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

Selection Embedding

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

Paste Vector Drawing as XAML

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

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

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

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

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

Автор: xtraroman

Источник [14]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/net/258570

Ссылки в тексте:

[1] XAML: https://en.wikipedia.org/wiki/Extensible_Application_Markup_Language

[2] Документация: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument115799

[3] Документация: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument118586

[4] фичей CRR: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument117323

[5] Документация: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument116323

[6] Документация: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument116322

[7] Optimize Namespace References: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument115640

[8] Этот: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument118380

[9] Эта фича: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument115784/showcolor

[10] Документация: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument115784/regionpaint

[11] Шаблоны CodeRush: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument115904

[12] Selection Embedding: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument115843/selembed

[13] Selection Expand и Include Previous/Next Element: https://documentation.devexpress.com/#CodeRushForRoslyn/CustomDocument115843

[14] Источник: https://habrahabr.ru/post/331350/