Что нового в Rider 2024.2

В Rider 2024.2 появилось автодополнение строк целиком для разных поддерживаемых языков, добавлен режим чтения со встроенным просмотром документирующих комментариев, новая вкладка Tasks и диаграммы зависимостей между задачами для отладки, а также улучшена навигация по членам класса. Основные обновления, касающиеся разработки игр, включают в себя встроенный плагин Godot и улучшенную отладку Unreal Engine. Кроме того, в этой версии добавлена поддержка .NET 9 Preview SDK, включая начальную поддержку возможностей C# 13. Функционал был обновлен за счет улучшения AI Assistant: доработано автодополнение кода, разрешение конфликтов VCS с помощью ИИ и т. п.

Скачать

Бесплатно для некоммерческого использования

Главные изменения

Поддержка SLNX

Новое!2024.2.6

В Rider наконец появилась поддержка Solution File Persistence Model, то есть формата .slnx для файлов решений. Это самый современный, простой и удобный вариант хранения всех данных решения. Rider позволяет без проблем перейти на новый формат прямо из Solution Explorer. Достаточно вызывать контекстное меню узла решения, выбрать пункт Save As…, а затем Save as XML Solution (.slnx). После этого вы сможете открыть свое решение из вновь созданного файла .slnx: это облегчит переход к новому формату.

Автодополнение строки целиком для C#, С++, JS/TS, CSS

В версии Rider 2024.2 появилась поддержка нового типа автодополнения кода: когда вы печатаете строку, IDE при помощи искусственного интеллекта подбирает наиболее подходящий по контексту вариант и показывает его серым курсивом. Эти предложения основаны на языковых моделях, которые работают локально, не отправляя код в интернет.

Режим чтения

Новый режим чтения в Rider призван упростить чтение библиотек и файлов read-only, в том числе декомпилированных. В этом режиме доступен встроенный просмотр документирующих комментариев для C#, С++ и F#, а также виртуальные отступы для C#.

Вкладка Tasks и диаграмма зависимостей между задачами

В новой версии в окне Debug появилась новая вкладка Tasks. На вкладке представлена подробная информация по объектам System.Threading.Tasks.Task и ValueTask. Это расширяет возможности отслеживания асинхронных операций и управления ими.

Задачи могут отображаться в виде таблиц или диаграмм. В представлении таблицы доступны состояния задач и метаданные, а в представлении таблицы — зависимости между задачами, что помогает найти deadlock-циклы.

Улучшенная навигация между членами класса

Панель Navigation в Rider была улучшена для языков C#, C++, VB и F#. Теперь путь из корневой директории проекта к файлу, с которым вы работаете, показывается вплоть до символа, на котором находится курсор. При нажатии на любой объект в цепочке, в том числе на классы, появляется раскрывающееся окно, где отображаются дочерние узлы. Таким образом, вы можете в один клик перейти напрямую к любому методу в классе.

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

В свежее обновление JetBrains Rider внесены важные улучшения для разработки игр. Вот лишь основные из них:

  • Начиная с версии Rider 2024.2, плагин Godot будет встроен в IDE. Кроме того, в этом обновлении добавлена поддержка GDScript с подсветкой синтаксиса, автодополнением кода, функцией Find Usages и отладкой.
  • Окно Monitoring теперь поддерживает приложения C++, а также проекты Unity и Unreal Engine.
  • В Rider 2024.2 также доработана отладка для Unreal Engine: улучшена оценка умных указателей и строк, добавлена вкладка Modules и переработаны сообщения об ошибках.

Перейти прямо к улучшениям для разработки игр.

Встроенный плагин .NET Aspire

В .NET 8 SDK появился .NET Aspire. Это новый подход к обработке сложных проблем, связанных со сборкой распределенных приложений на стеке .NET. Стремясь поддержать это новшество, JetBrains предлагает новый встраиваемый инструмент: плагин .NET Aspire для Rider.

Начиная с этой версии, плагин .NET Aspire встроен в Rider. Он поставляется вместе с соответствующим шаблоном проекта, который можно выбрать при настройке нового решения.

Поддержка .NET 9 Preview SDK

  • Поддержка шаблонов проектов из новой SDK.
  • Создание/запуск/отладка проектов, использующих новый SDK в качестве целевого.
  • Начальная поддержка новых возможностей C# 13, включая новый экранирующий символ, рефакторинги модификатора params и интерфейсы ref struct.

Взаимодействие с IDE

Новый интерфейс используется по умолчанию

Начиная с Rider 2024.2, так называемый «новый интерфейс», который впервые появился в версии 2022.3 JetBrains IDE, наконец будет включен по умолчанию для всех пользователей.

Если вам очень дорог «классический» интерфейс Rider, установите соответствующий плагин.

Поддержка параметров шаблонов проектов и решений с возможностью нескольких значений

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

Улучшенный интерфейс всплывающего окна «Usages of»

Мы упростили интерфейс всплывающего окна Usages of, которое позволяет найти в кодовой базе использования класса, метода или переменной, и расширили возможности фильтрации. Чтобы вызвать это окно, нажмите Cmd/Ctrl+Click).

Улучшенный диалог Customize Main Toolbar

Мы изменили расположение и поведение элементов в диалоге Customize Main Toolbar, сделав его более структурированным и удобным. Искать, добавлять и удалять действия на главной панели инструментов стало проще.

Редактор

Встроенный просмотр документирующих комментариев для C#, C++, F#

При встроенном просмотре комментарии отображаются не в виде простыни текста вперемешку с тегами, а в более удобном формате, вместе со ссылками и блоками кода. И никаких мучений с непонятными тегами — все совершенно ясно и очевидно. Функция упрощает чтение любых файлов C#, C++ и F#.

Семантическая подсветка для C# и C++

Мы добавили поддержку дополнительной семантической подсветки для C# и C++. Эта функция позволяет различать в коде разные параметры и локальные переменные по цветам. Включить семантическую подсветку или отключить ее можно в меню Settings/Preferences | Editor | Color Scheme | Language Defaults | Semantic Highlighting.

Поддержка формул в Markdown-файлах

Теперь Rider отображает математические формулы в Markdown-файлах. Работая с Markdown, используйте $, чтобы добавить формулу на строке, и $$ для блоков кода с формулами.

Языковые настройки для липких строк

Теперь вы можете задать более точные настройки для липких строк и выбрать языки, для которых они будут отображаться. Сделайте это в настройках Settings/Preferences | Editor | General | Sticky Lines или в контекстном меню (вызывается правым кликом по закрепленной строке в редакторе).

Поддержка C#

В новой версии Rider расширена поддержка возможностей C# 12, в том числе primary-конструкторов, добавлены контекстные действия и анализы для выражений-коллекций из C# 12. Кроме того, в Rider 2024.2 появилась начальная поддержка C# 13. Она включает в себя реализацию поддержки ref struct типов в generic-коде, новую экранирующую последовательность \e и рефакторинг модификатора params.

Мы также добавили следующие возможности:

  • Анализ struct-типов в сценариях проверки эквивалентности.
  • Инспекция Extract common code для уменьшения количества дубликатов кода в конструкциях с ветвлением.
  • Предпросмотр форматирования в разных культурах в автодополнении вызовов ToString().
  • Анализ для замены оператора приведения типов на явные аннотации типов.

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

Поддержка F#

Окно «F# Interactive»

Мы добавили поддержку отладки скриптов F#, а также улучшили работу окна F# Interactive и исправили ряд ошибок.

Импорт членов классов расширения

При импорте членов классов расширения теперь поддерживается автодополнение кода и соответствующие быстрые исправления.

Новое контекстное действие

В новой версии частичные применения функций и короткие лямбда-функции F# 8 можно преобразовать в обычные лямбда-выражения.

Подсказки для имен в паттернах

Функция автодополнения кода теперь выдает умные подсказки имен, основываясь на типах значений, даже в сложных паттернах. При этом используется та же логика, что и в рефакторинге Rename и в действиях деконструкции паттернов.

Подробнее об устраненных ошибках и улучшениях поддержки F# читайте здесь.

AI Assistant

Общие улучшения AI Assistant

JetBrains AI Assistant 2024.2 предлагает улучшенное автодополнение и генерацию кода в редакторе. ИИ-чат теперь поддерживает GPT-4o и ссылки на чаты для лучшего понимания контекста. Кроме того, ИИ теперь встроен в окно терминала и может генерировать команды. Он также помогает разрешать конфликты в системах контроля версий и поддерживает настраиваемые запросы для документации. Наконец, вы можете указать в меню Settings язык, на котором будете общаться с чат-ботом.

Объяснение динамического анализа программы с помощью ИИ

В окне Dynamic Program Analysis (DPA) появилась кнопка Explain with AI для решения вопросов, касающихся распределения памяти и баз данных. Эта функция AI Assistant обеспечивает подробные объяснения и варианты исправления ошибок в окне Dynamic Program Analysis, позволяя быстро разобраться даже с самыми сложными проблемами при распределении памяти и работе с базами данных.

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

Обновленный диалог Local History

Мы модернизировали интерфейс диалога Local History. Кроме того, при вызове для каталога рядом со списком изменений теперь отображается дифф, помогая вам разобраться в изменениях.

Улучшенный интерфейс окна Log

Теперь все настройки окна Log собраны на одной странице, которую можно найти в разделе Settings/Preferences | Version Control | Log или в новом выпадающем меню на панели инструментов окна Log. Вы также можете открыть Git-лог в виде вкладки в редакторе для удобной работы и навигации по коммитам. Это действие вы найдете в том же выпадающем меню на панели инструментов окна.

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

Godot

У нас отличные новости! Начиная с версии Rider 2024.2, плагин Godot встроен в IDE, и вы из коробки получаете высококачественную поддержку всех основных игровых движков. Сюда входит поддержка следующих функций при работе с Godot в C#: конфигурации запуска и отладки для редактора Godot и игр, автодополнение строковых литералов InputAction и NodePath, расширения отладчика для просмотра текущей сцены и дочернего узла и много другое.

Кроме того, в Rider 2024.2 добавлены новые возможности, которые описаны ниже.

Поддержка GDScript

Новая версия Rider поддерживает редактирование GDScript с подсветкой синтаксиса, автодополнением кода, функцией Find Usages и т. п. Это стало возможно благодаря поддержке LSP в редакторе Godot. Кроме того, теперь IDE хорошо интегрируется с плагином GDScript, разработанным сообществом. Если он установлен, то будет использоваться для функции Find Usages, а для подсветки ошибок — Godot LSP.

Отладка GDScript

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

Интеграция с AI Assistant

AI Assistant в Rider будет работать эффективнее благодаря доступу к контексту проекта Godot. В новой версии AI Assistant понимает, что вы работаете над проектом Godot, и обеспечивает более подходящие для вашей среды варианты дополнения кода.

Unreal Engine

Улучшения отладчика

В новой версии значительно улучшена работа нативного отладчика, внесено множество улучшений в оценку, особенно в том, что касается умных указателей и сравнения равенства для строк, точек останова в данных, а также при работе с оптимизированным кодом. В окно Debug добавлена новая вкладка Modules, где показываются все динамические библиотеки, загруженные во время отладки. Даже сообщения об ошибках были доработаны!

Подробнее обо всех изменениях — в нашем блоге.

Окно Monitoring

В Rider 2024.2 расширена поддержка окна Monitoring, которое было добавлено в предыдущей версии, но до сих пор поддерживало только C# и приложения .NET. Оно позволяет отслеживать загрузку ЦП и памяти, а также другие показатели производительности. Функция работает автоматически для приложений на C++, в том числе для игра на движке Unreal. Подробнее читайте в документации.

Новые инспекции и анализ кода

Новая версия включает новые инспекции для кода C++ и Unreal. Rider обнаружит отсутствующие вызовы Super в BeginDestroy и GetLifetimeReplicatedProps и предложит быстрое исправление (Alt+Enter). Кроме того, эта версия распознает свойства шаблонов и гарантирует, что у типов struct есть нужные методы, а при их отсутствии генерирует их. К тому же теперь Rider умеет распознавать типы цветов Unreal и при нажатии клавиш Alt+Enter показывает подсветку и инструмент выбора цвета.

Автодополнение строки целиком

Теперь функция автодополнения строки целиком в Rider доступна и для C++ в режиме без подключения к облаку. Таким образом, автодополнением кода на основе ИИ можно пользоваться, не передавая код сторонним лицам.

Информация о размещении членов класса struct

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

И последнее…

Разумеется, мы не рассказываем здесь обо всем, что уже сделано и еще делается. Например, мы сделали более удобной работу с липкими строками, включая директивы препроцессоров и текущий доступ, так что вы всегда знаете, работаете ли вы с общедоступным (public) или закрытым (private) кодом.

Кроме этого, мы внесли много мелких улучшений и исправлений, например обеспечили поддержку низкоуровневых тестов, автоматическое переименование файлов .cpp при переименовании файла заголовка и наоборот, а также добавили действие меню «Почему Rider предлагает это?» (Alt+Enter).

Unity

Поддержка мониторинга

В Rider 2024.1 мы добавили чрезвычайно удобное окно Monitoring, где можно отслеживать загрузку ЦП и памяти, а также другие показатели производительности. В новой версии его возможности расширены: теперь вы можете подключить его к редактору Unity и посмотреть загрузку ЦП и памяти.

Поддержка Tuanjie

Теперь Rider поддерживает редактор Tuanjie для Unity China и предоставляет для него те же возможности, что и для основного редактора Unity.

Обновление вариантов шейдеров

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

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

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

Быстрый запуск и отладка TypeScript-файлов

Теперь можно запускать и отлаживать TypeScript-файлы без лишних настроек. Вы можете делать это прямо из контекстного меню файла, виджета Run или конфигурации Current File.

Обновленная поддержка основных веб-фреймворков JS

B Rider 2024.2 стало проще работать с фреймворками, использующими для маршрутизации файловую систему. IDE обнаруживает пути маршрутизации на основе файловой системы вашего проекта, обеспечивая автодополнение и навигацию для соответствующих атрибутов в компонентах, реализующих ссылки в Next.js, Nuxt, SvelteKit и Astro. Кроме того, добавлена поддержка новых сниппетов и тегов рендеринга для Svelte 5. А еще мы добавили поддержку протокола языкового сервера (LSP) Astro и обновили Vue LSP до Vue Language Service v2, улучшив автодополнение и общее удобство взаимодействия с IDE.

Подробнее об этом читайте на странице Что нового в WebStorm.

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

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

  • Скрипты-загрузчики: данные из Excel, JSON, Parquet и shapefile можно импортировать с помощью пользовательских скриптов-загрузчиков.
  • Связанные строки и плавающая панель инструментов: для навигации по связанным строкам теперь удобно использовать плавающую панель инструментов ячейки в таблице.
  • Инструмент просмотра географических данных: позволяет просматривать геоданные из CSV, XLSX и других форматов.

Подробнее об этом читайте на странице Что нового в DataGrip.

Удаленная разработка

Code With Me (CWM)

В этом релизе мы доработали разные аспекты ввода при использовании CWM. Улучшена функция автодополнения, стало удобнее редактировать код, эффективнее работает подсветка, доработаны шаблоны Live Templates, а функция Undo стала надежнее. Подробнее о технических деталях этих обновлений можно прочитать здесь.

Попробуйте обновленный CWM и поделитесь с нами своими впечатлениями.

Плагины

dotTrace

dotUltimate

Оптимизация производительности

Мы улучшили производительность dotTrace, в том числе ускорили обработку снэпшотов Timeline и данных в представлениях Call Tree и Hotspots.

dotMemory

dotUltimate

Новые представления

Встроенный плагин dotMemory теперь может автоматически анализировать снэпшоты и сравнивать снэпшоты из разных рабочих пространств dotMemory. Поэтому мы добавили пару новых представлений:

  • Автоматические инспекции памяти: теперь в dotMemory есть представление Inspections, где отображаются автоматически обнаруженные проблемы с использованием памяти.
  • Сравнение снэпшотов между рабочими пространствами: теперь можно сравнить разные сеансы профилирования, чтобы полнее проанализировать использование памяти.

Эти функции доступны также в автономной версии dotMemory.

Улучшенный поиск экземпляров

Мы добавили новые возможности фильтрации в представлении Instances:

  • Поиск по строковому значению: введите любое строковое значение в поле фильтра, и dotMemory подсветит соответствующие строки. Благодаря этому проще найти экземпляры конкретных строк по их содержимому.
  • Поддержка регулярных выражений в строковых значениях: регулярные выражения позволяют сделать поиск более точным. Например, ^nAsso.{5,}ID$ соответствует nAssociatedObjectID.nAssociatedObjectID.
  • Поиск по адресу объекта: экземпляры объектов можно найти также по их адресам в памяти. Это удобно для прямого отслеживания объектов.

Визуализация Call Tree с помощью диаграммы Sunburst

В новой версии дерево вызовов Call Tree можно отобразить в виде диаграммы «солнечные лучи» (Sunburst), где будут выделены функции, которые используют больше всего памяти.

Плагин .NET Watch Run Configuration теперь встроен в IDE

Начиная с версии 2024.2, плагин .NET Watch Run Configuration встроен в Rider. Таким образом, скачивать .NET Watch Run Configuration из JetBrains Marketplace больше не нужно. Вы можете сразу пользоваться всеми возможностями dotnet-watch в своих решениях.

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

Декомпилятор

Общие улучшения

  • Параметры лямбда-выражений: мы добавили поддержку декомпиляции лямбда-выражений с опциональными параметрами и массивами параметров, улучшив читаемость и точность декомпилированного кода.
  • Атрибуты лямбда-выражений: новая версия инструмента лучше обрабатывает атрибуты лямбда-выражений, так что все нужные метаданные будут точно переданы в результате декомпиляции.
  • Защищенные сборки: мы добавили функцию, которая позволяет указать, нужно ли декомпилировать защищенные сборки. В результате исследование кода становится более полным.

Обработка внешних источников

  • PDB с SrcSrv и SourceLink: теперь декомпилятор поддерживает переход к источникам из файлов PDB, содержащих как SrcSrv, так и SourceLink.
  • Директивы препроцессора: в этой версии декомпилятор правильно распознает директивы препроцессора (например NET6_0_OR_GREATER) из целевого фреймворка или файлов Portable PDB связанной сборки, что обеспечивает точное представление кода.

Обнаружение конфигураций сборки

Окно Assembly Explorer теперь распознает и представляет конфигурацию сборки для скомпилированных сборок, позволяя точнее проанализировать контекст компиляции.

Другие улучшения

Переход на среду выполнения JBR 21

Мы переходим с JetBrains Runtime 17 (JBR17) на JetBrains Runtime 21 (JBR21). Начиная с Rider 2024.2, все обновления IDE будут включать JBR21, обеспечивая лучшую безопасность, производительность и поддержку рендеринга Wayland для Linux.

Встроенные плагины локализации

Теперь в IDE встроены пакеты локализации для китайского, корейского и японского языков.