Что нового в Rider

Rider 2023.3 обеспечивает поддержку SDK .NET 8, включая новые возможности C# 12. Кроме того, в этой версии улучшена обработка запуска нескольких проектов одновременно, добавлен предиктивный режим отладки, а также возможность быстрого создания юнит-тестов и навигации по ним. Наконец, в Rider 2023.3 был значительно обновлен AI Assistant.

Главное

AI Assistant

Официальная версия AI Assistant Публичный доступ

Мы официально выпустили своего ИИ-помощника AI Assistant, добавив ряд новых возможностей и улучшив уже известные функции, чтобы сделать работу в IDE JetBrains еще эффективнее. Последние обновления для Rider:

  • Контекстный чат-бот
  • улучшенный учет контекста проекта для действий на основе ИИ;
  • автодополнение для многострочного кода;
  • генерация кода в редакторе;
  • генерация юнит-тестов;
  • создание документации;
  • представление Diff для рефакторингов, предложенных AI Assistant.
  • возможность создания библиотеки настраиваемых подсказок.

Чтобы использовать AI Assistant как дополнительную функцию Rider, вам потребуется подписка JetBrains AI Service.

Посмотреть демо

Поддержка .NET 8 SDK

Поддержка SDK .NET 8

В Rider 2023.3 появилась поддержка .NET 8 SDK, включая:

  • Обновленные шаблоны проектов.
  • Создание/запуск/отладку проектов, использующих новый SDK в качестве целевого.
  • Новые возможности C# 12, в том числе первичные конструкторы, перехватчики и директивы создания псевдонимов для ссылок на любые типы.
  • Поддержка возможностей F# 8, в том числе упрощенных лямбда-выражений, обновлений вложенных записей, статичных членов интерфейса и привязок let, а также многих других.
  • Поддержка переменных @.
  • Support for Identity API endpoints.

Запуск нескольких проектов

В Rider 2023.3 можно одновременно запускать несколько проектов и выполнять их отладку, используя расширенные возможности управления порядком и условиями выполнения задач.

Подробнее — в документации Rider.

Посмотреть демо

Диаграммы зависимостей типов

Rider 2023.3 позволяет исследовать взаимоотношения и зависимости между разными классами, структурами, интерфейсами и модулями вашего решения, используя диаграммы зависимостей типов.

Подробнее — в документации Rider.

Посмотреть демо

Предиктивный режим отладчика

Предиктивный режим отладчика

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

Подробнее — в документации Rider.

Посмотреть демо

Юнит-тесты: создание и навигация

Новая версия Rider позволяет легко переходить к нужным тестам для производственного кода и создавать их. Кроме того, в этом релизе мы добавили возможность генерации тестов с помощью AI Assistant.

Подробнее — в документации Rider.

Посмотреть демо

Поддержка С#

Обновления С#12

В новой версии Rider расширен перечень поддерживаемых возможностей C# 12. Теперь в него также входят первичные конструкторы, директивы создания псевдонимов для ссылок на любые типы, выражения коллекций, перехватчики и многое другое.

Подробнее об обновлениях поддержки C# в Rider и ReSharper 2023.3 читайте в этой статье.

Посмотреть демо

Инспекции для ошибок, связанных с Entity Framework

В Rider 2023.3 появилась пара новых инспекций для использований методов в коде Entity Framework, которые могут стать причиной исключений при выполнении кода.

Подробнее об этих инспекциях читайте в нашем блоге.

Производительность

Теперь Rider 2023.3 распознает больше сценариев, когда службы анализа кода действуют пошагово, прерываясь при вводе новых символов, и упрощает работу таких сценариев. Это будет особенно полезно при обработке больших файлов.

Выделение ресурсов для анализа кода по всему решению

Кроме того, в новой версии разработчик может управлять ресурсами, которые выделяются для анализа кода по всему решению. Вы можете выбрать один из трех режимов использования ресурсов: Low, Moderate и High.

Несмотря на название, режим High не мешает вводу кода в редакторе и не снижает отзывчивость IDE. Он постепенно увеличивает использование ЦП только после того, как анализ прерывается вводом кода. В результате разработчик продолжает без помех писать код, а анализ по всему решению обрабатывает исходный код в фоновом режиме.

Другие улучшения производительности

Поиск использований типов и конструкторов в решениях с созданием большого числа объектов с целевой типизацией, например SomeType _field = new(), теперь работает быстрее. Кроме того, это улучшение увеличивает скорость рефакторинга.

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

Редактор

Улучшенный интерфейс встроенных подсказок

Улучшенный интерфейс встроенных подсказок

В Rider 2023.3 можно открыть контекстное меню встроенной подсказки, щелкнув по ней правой кнопкой мыши. Кроме того, из подсказки можно перейти к объявлениям, щелкнув мышью и одновременно удерживая клавишу Ctrl.

Автодополнение путей URL-адресов

Автодополнение путей URL-адресов

Мы улучшили работу автодополнения для URL-адресов. Теперь, когда вы вводите / там, где ожидается URL-адрес, IDE автоматически предлагает URL-адреса серверных конечных точек во всплывающем окне автодополнения кода. При этом учитываются и API, доступные в приложении, и присоединенные спецификации OpenAPI, чтобы вы могли быстрее ввести нужный URL-адрес.

Изменения в интерфейсе

Кнопка Resume во время отладки

Кнопка Resume во время отладки

Как мы и обещали, теперь на время отладки вместо кнопки Run на главной панели инструментов появляется кнопка Resume.

Save as Solution Filter

Save as Solution Filter

В Rider 2023.3 можно быстро и легко создать фильтры решения (файлы .slnf). Фильтры решений помогают настроить представление Project в IDE в соответствии с конкретным контекстом, в которым вы работаете. Это упрощает управление большими и сложными проектами. Чтобы создать фильтр решения, щелкните правой кнопкой по решению в Solution Explorer и нажмите Save as Solution Filter.

Скрытие главной панели инструментов

Возможность скрыть основную панель инструментов в режиме просмотра по умолчанию

Мы изучили ваши отзывы о новом интерфейсе и добавили возможность скрыть основную панель инструментов при использовании IDE в режиме просмотра по умолчанию — точно так же, как это было в старом интерфейсе.

Чтобы освободить место в рабочем пространстве и скрыть панель инструментов, откройте меню View | Appearance и снимите флажок Toolbar.

Сочетание клавиш для функции быстрого поиска

Сочетание клавиш для функции Speed Search

Функцию Speed Search, которая позволяет быстро переходить к нужному месту в окнах и диалогах, теперь можно вызвать с помощью сочетания клавиш. Выбрав дерево или список, можно, как и раньше, легко вызвать поиск через меню «Options» текущего окна, нажав +F в macOS или Ctrl+F в Windows и Linux либо просто начав вводить запрос.

Новая иконка продукта для macOS

Новая иконка продукта для macOS

Готовя версию Rider 2023.3, мы изменили внешний вид иконки Rider для macOS в соответствии с рекомендациями по оформлению для этой операционной системы.

Системы контроля версий

Поддержка сниппетов GitLab

Поддержка сниппетов GitLab

Мы расширяем интеграцию с GitLab, которая впервые появилась в Rider 2023.2, и добавили поддержку сниппетов GitLab. Теперь разработчик может создавать как общедоступные, так и частные сниппеты прямо в IDE.

Чтобы создать новый сниппет, выберите фрагмент кода в редакторе (либо файл или папку в окне Project), вызовите контекстное меню и в нем выберите пункт Create Snippet. Появится диалог, в котором нужно ввести общую информацию о сниппете и выбрать настройки конфиденциальности.

Единый инструмент поиска различий

Rider 2023.3 предлагает обновленный подход к проверке изменений в файлах. Вам больше не нужно просматривать файлы по одному: все измененные файлы из выборки отображаются в едином фрейме с возможностью прокрутки. Новый инструмент поиска различий поддерживает ревью кода в GitLab, GitHub и JetBrains Space.

Отладка

Представление Modules

Новое представление Modules позволяет проверить используемые приложением динамически подключаемые библиотеки (DLL) и исполняемые файлы. В этом представлении разработчику доступна разнообразная информация: имена модулей, версии, домены приложения, пути к модулям и символам модулей.

В столбце Symbols перечислены символы, используемые отладчиком для конкретного модуля. Чтобы изменить этот список, правой кнопкой щелкните на строке модуля и выберите Load Symbols.

Подключение к процессу в контейнере Docker

Подключение к процессу в контейнере Docker

Начиная с версии 2023.3, вы можете подключиться для отладки к процессу, запущенному в контейнере. Для этого откройте диалог Attach to Process перейдите на вкладку Docker и выберите нужный контейнер. Новая функция будет работать в локальной среде и с SSH-конфигурациями.

Разработка игр

Unity

Поддержка UI Toolkit

Нам удалось заметно повысить производительность работы с UI Toolkit.

Функция Find Usages позволяет увидеть, где в файлах UXML используются элементы интерфейса, а если, удерживая нажатой клавишу Ctrl, щелкнуть по этим элементам, вы перейдете к соответствующему коду C#. Кроме того, Rider предлагает автодополнение кода для элементов интерфейса в запросах C#.

Новая версия также поддерживает файлы тем .tss и содержит актуальную информацию обо всех свойствах USS для последней версии Unity 2022.3 LTS.

Поддержка вариантов шейдеров

Поддержка вариантов шейдеров

Новая дополнительная функция предварительного просмотра позволяет выбрать активные ключевые слова при редактировании файла шейдера. Благодаря этому можно активировать различные блоки препроцессора, чтобы можно было использовать возможности редактирования Rider в тех частях файла, где они были отключены.

Обновления отладчика

Возможность просмотра текстур в новом всплывающем окне значительно увеличивает эффективность отладки Unity. Мы упростили добавление точек паузы из контекстного меню редактора, а точки трассировки теперь тоже выдают результат на консоль Unity. Кроме того, новая версия Rider корректно отображает в диалоге Attach to Unity Process экземпляры виртуальных игроков в многопользовательском режиме.

Посмотреть демо

Другие обновления

Мы сделали много небольших исправлений и обновлений: например, автодополнение семантики в коде HLSL, исправление URL-адресов онлайн-справки для пакетов и устранение ошибочных предупреждений для некоторых сценариев DOTS. You can see the full list of changes in the changelog.

Unreal Engine

Игнорирование PCH-файлов при анализе

Игнорирование PCH-файлов при анализе

Важная новая функция Rider позволяет распознавать символы только в файлах, указанных явным образом, игнорируя любые данные, импортированные файлами предварительно скомпилированных заголовков (PCH). Благодаря этому в локальных сборках можно использовать PCH-файлы для повышения скорости компиляции и одновременно для обеспечения корректной работы билд-серверов CI.

Небольшие обновления

В эту версию включены также более мелкие обновления и исправления ошибок, например, при сборке некоторые имена файлов не обрабатывались как ссылки, невозможно было найти UE 5.3, неверно отображались типы FString и TCHAR в отладчике в Linux.

Кроме того, мы устранили проблемы с широко используемым плагином Enhanced UE Documentation, включая форматирование и ошибку, из-за которой не отображалась подсказка для стандартной документации.

Веб-разработка

Улучшения для TypeScript

Улучшения для TypeScript

Rider 2023.3 успешно справляется с некоторыми неприятными проблемами, которые возникали при добавлении инструкций import type. Кроме того, стало удобнее работать с синтаксисом verbatimModuleSyntax. Мы добавили возможность настроить использование инструкций TypeScript import type или спецификатора типа при импорте типа. Кроме того, добавлена поддержка поля exports в package.json для файлов TypeScript.

Улучшенная поддержка Angular

Улучшенная поддержка Angular

Мы улучшили поддержку проверки типа strictTemplate в шаблонах Angular. Кроме того, добавлена поддержка нового синтаксиса порядка выполнения, появившегося в версии 17, и сигналов, включая такие интерактивные шаблоны как signal, computed и effect. При нажатии Alt+Enter также доступны новые быстрые исправления: например, можно создать свойства @Input и @Output из шаблона компонента.

HTTP-клиент

Поддержка переменных @

Rider 2023.3 поддерживает использование символа @ для определения переменных, найденных в других IDE.

Подробнее об изменениях в веб-разработки читайте на этой страницe.

Поддержка F#

Поддержка F# 8

Мы добавили поддержку возможностей языка, появившихся в версии F# 8. Появились новые анализаторы и быстрые исправления, которые предлагают использовать новый синтаксис, например обновления вложенных записей или упрощенные лямбда-выражения.

Обновленная модель проекта F#

Мы переработали механизм синхронизации модели проекта между движком ReSharper и службой компилятора F#, чтобы устранить ряд проблем, таких как ложноположительные предупреждения из-за отсутствующих ссылок или возможные зависания анализа. Кроме того, улучшена производительность анализа во многих ситуациях, когда проекты F# ссылаются на проекты C#.

Прочее

Благодаря вашим сообщениям об ошибках нам удалось немного улучшить существующие анализаторы и быстрые исправления, автодополнение кода и другие функции. Read the full notes on the F# plugin page.

Фреймворки и технологии

Автодополнение кода для централизованного управления зависимостями

Автодополнение кода для централизованного управления зависимостями

В этой версии мы расширили поддержку файлов CPM, добавив возможность автодополнения кода для имен и версий пакетов NuGet. Теперь эти файлы поддерживаются, также, как в файле .csproj. В результате разработчики смогут быстрее и точнее управлять ссылками на пакеты. Чтобы лучше разобраться с этой сравнительно новой функцией, читайте статью в нашем блоге о централизованном управлении зависимостями .

Поддержка контейнеров без root-прав

Теперь в образы базы .NET включается пользователь без root-прав. По умолчанию Rider 2023.3 будет создавать Dockerfiles для проектов с целевой платформой .NET 8, используя именно этого пользователя. Кроме того, поддерживаются функции Debug и Fast mode.

Поддержка Bicep

We’ve introduced initial support for Bicep, an Infrastructure as Code language tailored to Azure. Он позволяет создавать шаблоны Azure Resource Manager (ARM) и предназначен для тесной интеграции с сервисами Azure. Новая версия IDE обеспечивает подсветку и автодополнение кода с использованием протокола языкового сервера для Bicep.

Работа с базами данных

Некоторые из главных улучшений при работе с базами данных в Rider 2023.3:

  • переработанная функциональность импорта;
  • поддержка таблиц импорта/экспорта через команду BCP SQL Server;
  • поддержка новых объектов SQL Server.

Подробнее об изменениях в работе с базами данных читайте на этой странице.

Плагины

Динамический анализ программы

Новые инспекции ASP.NET Core

Новые инспекции ASP.NET Core

В динамический анализ программы добавлены три новых инспекции для приложений, предназначенных для фреймворка ASP.NET Core. Эти инспекции предупреждают о возможных проблемах с производительностью бэкенда, из-за чего время отклика приложения может увеличиться.

Подробнее — в нашем блоге.

dotTrace dotUltimate

Улучшенная настройка

Улучшенные настройки режима профилирования Timeline

В новой версии расширены возможности настройки режима профилирования Timeline при работе со встроенным в Rider профилировщиком dotTrace. Новые параметры:

  • Sampling rate — позволяет, меняя частоту выборки, найти баланс между производительностью профилируемого приложения и точностью данных. Поддерживается также режим быстрой выборки.
  • Sample allocations every ... KB для нативного выделения ресурсов — позволяет улучшить эффективность анализа снэпшотов, сократив объем собираемых данных, то есть размер снэпшотов.
  • Download in background для нативных файлов символов — файлы будут скачиваться в ходе сеанса профилирования, чтобы сократить время, необходимое для создания снэпшота.

dotMemory dotUltimate

  • В новой версии можно импортировать и анализировать дампы процессов в профилировщике, запущенном в Linux.
  • Теперь в операционных системах Linux и macOS можно использовать автономную версию.

Интерфейс Entity Framework Core

Команды интерфейса Entity Framework Core теперь доступны прямо в JetBrains Rider. Вот лишь некоторые действия, которые можно выполнить с помощью встроенного плагина:

  • создание миграций;
  • обновление баз данных с использованием выбранных миграций, включая автодополнение для имен миграций;
  • создание шаблонов DbContext из существующих баз данных;
  • создание скриптов SQL на основе диапазона миграции.

Разное

Новые инспекции для выявления уязвимых использований API

Новые инспекции для выявления уязвимых использований API Безопасность

В Rider 2023.3 добавлены новые инспекции безопасности, чтобы разработчику было проще найти уязвимости в коде и понять их суть.

Эти инспекции выявляют уязвимые пакеты NuGet в проекте и подсвечивают случаи использования уязвимых методов из этих библиотек в вашем коде. При обнаружении уязвимости система подсвечивает соответствующий код и предлагает варианты быстрого устранения проблемы. Это может быть рекомендация перейти на более новую версию пакета, а также подробная информация о найденных уязвимостях.