.NET Tools
Essential productivity kit for .NET and game developers
Публикации и ответы на комментарии в блогах JetBrains не выходят на русском языке с 2022 года.
Приносим извинения за неудобства.
Rider 2021.2: поддержка конечных точек ASP.NET Core, отладка Blazor WebAssembly и многое другое
Всем привет!
Мы выпустили новую версию Rider! Ниже рассмотрим все самое интересное.
Внимание! Начиная с релиза 2021.2 инструменты для .NET, включая Rider, требуют обязательной установки .NET Framework версии 4.7.2 или выше. Подробности здесь.
Поддержка конечных точек ASP.NET Core
Мы добавили новое окно Endpoints. Оно поможет исследовать конечные точки ASP.NET Core, которые зарегистрированы либо сопровождаются аннотацией [Route]
, [Http{Method}]
или [AcceptVerbs]
, а также переходить к ним напрямую. Вы сможете изучать документацию конечных точек, переходить к контроллерам, реализующим те или иные конечные точки, и узнавать, где они зарегистрированы, делая поиск использований.
Также мы поддержали новые возможности в редакторе. При использовании HttpClient
автодополнение предложит вам все URI, которые соответствуют действиям в контроллерах, аннотированных атрибутом [Route]
, [Http{Method}]
или [AcceptVerbs]
. Если вы переименуете атрибут маршрута в контроллере, изменения также применятся к упоминаниям этого атрибута в URI. Вы можете переименовать маршрут прямо в строке URI.
Вкладка HTTP Client позволяет создавать и отправлять запросы вашему приложению. Это может пригодиться вам при тестировании API. Подробнее о возможностях нового окна Endpoints читайте в этом блог-посте.
Отладка Blazor WebAssembly
Долгожданная новость: теперь Rider позволяет выполнять отладку Blazor WebAssembly на стороне клиента! В данный момент возможность доступна для приложений .NET 5.0 и .NET Core 3.1. Чтобы настроить отладку WASM, следуйте официальному руководству Microsoft. После этого можете запускать отладку привычным для вас образом.
В начале сеанса отладки отладчик запускается и подключается к экземпляру Chrome или Edge (в том числе к Edge на Ubuntu). Далее вы можете переключаться между веб-интерфейсом и отладчиком. Подробнее об улучшениях отладки Blazor в Rider 2021.2 читайте в этом блог-посте.
Анализ кода
- Чтобы поменять местами значения переменных, больше не нужно заводить временную переменную — Rider 2021.2 поможет вам модернизировать код с помощью быстрого исправления Swap via deconstruction!
- Мы добавили новые инспекции и соответствующие быстрые исправления: Replace empty array creation with
Array.Empty<T>
, Replace newEventArgs()
withEventArgs.Empty
и ReplaceType[0]
withType.EmptyTypes
. - Rider учитывает свойство
generated_code
из файла.editorconfig
, позволяя вам указывать, какие файлы исключить из анализа кода. - Улучшилась производительность действия Find similar issues и анализа кода для больших и сложных операторов и выражений
switch
.
Ссылочные типы, допускающие значение null (NRT)
- Если вы скрыли предупреждение (
!
) для фрагмента кода, но со временем необходимость в этом исчезла, Rider уведомит вас.
- Мы добавили контекстное действие, позволяющее найти все скрытые предупреждения, связанные с допустимостью null, в выбранной области видимости. Просматривая результаты в окне Find Results, вы сможете оценить, где скрыть предупреждение по-прежнему нужно, а где от этого можно избавиться.
- Появился рефакторинг, обновляющий аннотации допустимости null и предлагающий применить изменения ко всей кодовой базе.
- Доступно несколько новых инспекций и соответствующих быстрых исправлений для работы с атрибутами JetBrains Annotations в случае, если вы разрешили использование NRT.
- Мы добавили в Rider новые инспекции и быстрые исправления для работы с аннотациями, которые поддерживаются компилятором (
[DisallowNull]
,[AllowNull]
,[MaybeNull]
и[NotNull]
).
Подробнее о поддержке NRT в ReSharper и Rider 2021.2 читайте в этом блог-посте.
Поддержка генерации кода
Многие из возможностей, которые раньше работали только для файлов, созданных вручную, теперь также доступны для автоматически сгенерированных файлов. Ошибки и предупреждения, найденные в сгенерированном коде, отобразятся в редакторе и на панели маркеров. Теперь вы можете запускать рефакторинги, такие как Rename и Change Signature, из сгенерированных файлов.
Вы можете пользоваться Find Usages, искать наследников и переходить от сгенерированного кода к коду, написанному вручную (Ctrl
+Click
и Navigate To). Для членов классов, таких как события, поля и свойства, теперь работает семантическая подсветка. При необходимости будут показаны встроенные подсказки. Также теперь Rider поддерживает код, созданный генераторами кода в VB.NET.
Обновления для разработчиков игр
Постепенно становясь первоклассной IDE для разработки игр, Rider подготовил много всего нового для разработчиков на Unity. В частности:
- Умная интеграция Rider с редактором Unity обеспечивает проверку наличия открытых и несохраненных сцен перед коммитом. Вам больше не придется беспокоиться, все ли вы сохранили перед коммитом.
- Как вы знаете, Rider показывает ссылку на документацию для классов и методов Unity во всплывающем окне. Теперь же вы можете использовать действие External Documentation (и соответствующе сочетание клавиш), чтобы перейти к документации, минуя всплывающее окно.
- Теперь в Rider можно делать отладку локальных UWP-проигрывателей: для этого нужно настроить Windows так, чтобы он разрешал подключение к отлаживаемому процессу.
- В этом релизе мы улучшили отладку IL2CPP-проигрывателей за счет отключения “Break on Unhandled Exception” при подключении к IL2CPP-проигрывателю.
Также у нас также есть некоторые важные улучшения поддержки Unreal Engine в рамках программы раннего доступа: мы поддержали Unreal Engine 5 и возможность открытия файлов .uproject
. Кроме того, теперь он запускается на Mac! Об остальных улучшениях мы рассказываем в игровой зоне Rider 2021.2.
Импорт настроек из других IDE
Для тех, кто переходит на Rider, мы добавили возможность импорта настроек. Если вы никогда не пользовались Rider, то теперь можете импортировать настройки из других IDE, таких как Visual Studio, Visual Studio для Mac и Visual Studio Code, прямо с начального экрана. Также Rider распознает настройки ReSharper. Подробнее об импорте настроек из других IDE читайте в нашем блоге. Обязательно расскажите нам о своих впечатлениях.
Инструмент очистки кода Code Cleanup
Мы объединили окна Reformat File и Code Cleanup — теперь вы можете выполнять оба действия вместе. Для профилей очистки указываются входящие в них действия. Также теперь есть кнопка для переключения в режим редактирования профилей.
Также появилась возможность выполнять переформатирование/очистку только тех изменений в текущем файле, которые пока не были закоммичены. В окне коммита теперь можно включить автоматическую очистку кода для внесенных изменений и выбрать желаемый профиль.
Кроме того
- Улучшения коснулись и работы с VCS. Мы добавили поле поиска в диалоговом окне Local History, чтобы вам было легче переходить к нужному тексту в версиях локальной истории. Также теперь вы можете защитить Git-коммиты, подписав их с помощью GPG. Включить эту функцию можно в Preferences/Settings | Version Control | Git.
- В редакторе появилась возможность структурного удаления кода. Теперь можно выделять и удалять код, используя любой вид структурного выделения (структурную навигацию, расширение/сужение области выделения, реорганизацию кода и др.), — Rider сам внесет необходимые структурные модификации. Вы можете убирать запятые и точки с запятыми для аргументов в вызове метода, удалять скобки в аргументах атрибута или в пустых инициализаторах объекта.
- Теперь нужное окно можно просто перетащить в удобное место — как внутри основного окна IDE, так и в отдельное окно. Просто нажмите на заголовок окна и, удерживая его, перетащите в любую подсвеченную область.
- У нас также есть обновления для пользователей Xamarin. Теперь вы можете генерировать не только файлы
.apk
, но и файлы.aab
(Android App Bundle). Скоро.apk
станет единственным форматом, который можно будет загрузить на Google Play Store. Появилась возможность создавать и редактировать XCAssets дляimageset
,appiconset
иcolorset
прямо в Rider. - Разработчики на F# теперь могут пользоваться постфиксными шаблонами для
let
, а также новыми действиями для реорганизации кода, оптимизации импортов, деконструкции паттернов длякортежей
и вариантовunion
и др. - Поддержка Apple Silicon в Rider: теперь у нас есть раннее превью версии с полной нативной поддержкой чипа M1. Подробнее об этом читайте на сайте поддержки Rider.
- Применяете ли вы разработку через поведение (Behavior-Driven Development или BDD) для .NET? Новый плагин SpecFlow для Rider позволяет с легкостью добавлять в проект автоматизированные тест-кейсы SpecFlow. О том, как BDD и Rider помогут вам с помощью автоматизированных тестов производить более качественный и легко поддерживаемый код, читайте в нашем блоге.
Подробнее об этих и других возможностях Rider 2021.2 читайте на нашем сайте.
Сборку 2021.2 можно скачать с нашего сайта, установить через Toolbox App либо при помощи snap-пакета из Snapcraft Store (если вы используете совместимый дистрибутив Linux).
Ваша команда Rider
The Drive to Develop
Автор оригинальной статьи: