Всем привет! Вашему вниманию представляется краткий обзор о проделанной нами работе за последние релизы. Приступим: # Performance Приоритетным направлением работы команды в прошлых релизах стало улучшение производительности. Мы готовим блог пост, в котором подробно будут изложены улучшения производительности. Здесь же кратко перечислим направления, в которых велись работы по улучшению и полученные результаты. 1) **Улучшение производительности CodeRush при запуске** Скорость запуска CodeRush увеличилась, согласно собираемым нами данным статистики использования. Для достижения данного результата, нами был полностью переписан движок кода отвечающий за взаимодействие с Visual Studio, чтобы избавиться от медленных проверок на загрузке. Также была проведена оптимизация внутренних сервисов для ускорения их работы. 2) **Улучшение производительности тест раннера** Благодаря улучшениям в движке обнаружения тестов, тест раннер теперь быстрее находит тесты в солюшене. Также удалось сократить время сборки графа зависимостей проекта, что позволило увеличить скорость запуска тестов. 3) **Улучшение производительности при работе с редактором кода в следующих фичах**: * String Format Assistant * Naming Assistant * Smart Semicolon * Smart Dot * Code Template Expansion * IntelliRush 4) **Увеличение скорости отрисовки, что позволило убрать замедления в работе следующих визуальных фич**: Spell Checker, Unused Code Highlighting и Rich Comments. # XAF Templates В прошлом релизе, к пользующимся достаточной популярностью у пользователей XPO шаблонам, добавился ещё набор шаблонов для XAF. Собственно сами шаблоны ребята из XAF и подготовили (тут стоит сказать отдельное спасибо Мише Иушину), а мы их протестировали и заинтегрировали. Эти шаблоны кода позволяют быстро создавать кастомные контроллеры и основные типы Action-ов. Например, если необходимо создать кастомный [ViewController](https://docs.devexpress.com/eXpressAppFramework/DevExpress.ExpressApp.ViewController) класс, просто напечатайте **xcv** в редакторе кода и нажмите клавишу **Space** или **Tab**, в зависимости от Ваших настроек раскрытия шаблона. Раскрытие шаблона **xcv**, показано на следующем скринкасте: ![](https://i.imgur.com/EVKRkw9.gif) Внутри контроллера Вы можете создать action. Например, для создания simple action раскройте шаблон **xas**, как показано на скринкасте выше. Со списком шаблонов для XAF, Вы можете ознакомиться в [документации](https://docs.devexpress.com/CodeRushForRoslyn/403133/coding-assistance/code-templates/xaf-templates). # Test Runner - UWP Support В тест раннере теперь можно запускать и отлаживать MSTest юнит тесты для UWP приложений. ![](https://i.imgur.com/eWKRzzE.png) [Documentation](https://docs.devexpress.com/CodeRushForRoslyn/115734/unit-testing-assistance/run-and-debug-tests) # Analyze Code Out of Process Кто следит за анонсами обновлений Visual Studio 2019 думаю в курсе, что много больших фич и изменений появляются в минорах. Так, начиная с версии 16.8, бэкграунд анализ диагностик стал выполняться в отдельном процессе. Это стало небольшим сюрпризом для нас, поскольку наши аналайзеры имеют дополнительную фунциональность (проверка статуса лицензии, считывание опций продукта и т.д), которая перестала работать вне процесса студии. Основную часть проблем мы уже решили, и теперь наши аналайзеры корректно работают в бэкграунд анализе Visual Studio в отдельном процессе. Это касается и Spell Checker, который тоже сделан на базе аналайзера. Мы продолжаем работу над оставшимися шероховатостями в поддержке "out of process". Чтобы CodeRush диагностики попали в Error List в Visual Studio, нужно активировать "Register in VS" чекбокс для анализаторов, которые нужно запустить на странице **Editor** | **C#** (или **Visual Basic**) | **Code Analysis** | **Code Issues Catalog**. ![](https://i.imgur.com/4nKAi3v.png) [Documentation](https://docs.devexpress.com/CodeRushForRoslyn/401559/static-code-analysis/background-analysis) Как всегда, в [нашем канале в Teams](https://teams.microsoft.com/l/channel/19%3ab30f8d3dbc3441ca82a197c85d6d82f2%40thread.skype/CodeRush%2520Users%2520Feedback?groupId=f74b7d18-34a4-4c78-b7d5-b56e55ce3236&tenantId=e4d60396-9352-4ae8-b84c-e69244584fa4), Вы можете оперативно получить ответы на возникшие вопросы по нашему продукту.