Новое в ReSharper 2025.2

В версии ReSharper 2025.2 значительно улучшена производительность, добавлены новые языковые возможности и полезные функции, направленные на повышение удобства и скорости работы разработчиков. Благодаря режиму Out-of-Process (OOP), которым теперь можно пользоваться в рамках публичного раннего доступа, и расширению поддержки C# 14 и C++ эта версия ReSharper помогает еще быстрее писать надежный современный код.

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

Режим запуска вне процесса (Out-of-Process) Публичный ранний доступ

Рады сообщить, что ReSharper 2025.2 — это первая стабильная версия с поддержкой запуска в режиме Out-of-Process (OOP), то есть не внутри Microsoft Visual Studio, а как отдельный процесс операционной системы. Это долгожданное изменение архитектуры создает основу для более стабильной и производительной работы в будущем, поскольку позволяет разделить процессы ReSharper и Visual Studio.

Чтобы переключиться в режим Out-of-Process, перейдите в меню ReSharper Options | Environment | Products & Features и выберите Run ReSharper in separate process. Нажмите на кнопку Save and restart, чтобы применить изменения и заново инициализировать ReSharper, не перезапуская IDE.

Подробнее

Мгновенная навигация при запуске

В ReSharper 2025.2 можно нажать Ctrl+T, чтобы перейти к навигации по файлам сразу после запуска решения — не нужно ждать, пока все будет проиндексировано.

Оптимизация обработки Razor/Blazor

Мы сократили использование памяти и убрали избыточную обработку для включаемых файлов, например _ViewImports и _ViewStart. Функция Find Usages теперь работает быстрее для типов компонентов Razor. Мы также устранили несколько проблем с ложными предупреждениями.

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

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

Более эффективные встроенные рефакторинги

Мы снизили влияние встроенных рефакторингов на производительность, уменьшив тем самым задержки при вводе текста и повысив общее удобство редактирования кода.

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

ReSharper теперь лучше использует возможности современных SSD: мы убрали старую логику, из-за которой операции с диском во время индексации выполнялись по очереди. Эта логика изначально была оптимизирована под HDD, но у SSD нет таких физических ограничений, и они поддерживают параллельный ввод-вывод с высокой пропускной способностью. Вместе с оптимизациями фоновой обработки это дает чуть более быструю индексацию и запуск на современном оборудовании. Загрузка решений также стала быстрее в проектах, где есть ссылки на Source Generators.

Хотите узнать подробнее, за счет чего выросла производительность? Тогда читайте подробный рассказ в нашем блоге.

ReSharper для Visual Studio Code Публичное превью

Новая версия ReSharper доступна также в виде расширения для Visual Studio Code. Если вы используете в работе Visual Studio Code, то можете теперь пользоваться привычной функциональностью ReSharper прямо в редакторе. За поддержку инспекций кода, быстрых исправлений, навигации и рефакторинга Rename отвечает тот же базовый движок.

На этапе публичного раннего доступа ReSharper для VS Code доступен бесплатно.

Поддержка C#

Новые возможности языка

В ReSharper 2025.2 появилась начальная поддержка новых возможностей C# 14.

Расширения начальная поддержка

ReSharper предлагает ранний доступ к поддержке элементов расширения, которые появились в C# 14. Поддержка включает в себя автодополнение и анализ кода, Find Usages, рефакторинг Rename и многое другое.

Частичные события и конструкторы

C# 14 дополнительно расширяет возможности генерации кода с использованием частичных событий и конструкторов. Новая версия ReSharper охватывает эти новые сценарии использования.

Присваивания с null-условием

ReSharper 2025.2 позволяет использовать новые конструкции a?.b = c и a?[i] = c, чтобы упростить код при обработке возможных значений null.

Пользовательские операторы составного присваивания

ReSharper теперь умеет правильно распознавать и обрабатывать пользовательские операторы составного присваивания, которые были добавлены в C# 14.

Игнорируемые директивы препроцессора

Теперь ReSharper распознает новые директивы препроцессора #! и #:.

Улучшенное логирование с LoggerMessage

В ReSharper 2025.2 появились новые возможности, которые делают работу с ILogger проще и помогают писать логи быстрее и понятнее.

Новый рефакторинг: преобразование вызовов логгера в методы на основе LoggerMessage

Теперь ReSharper умеет автоматически превращать вызовы методов ILogger в методы, сгенерированные LoggerMessage. Это снижает нагрузку во время работы приложения и повышает производительность, особенно в системах с большим объемом логирования.

Более умное автодополнение для ILogger<T>

При написании ILogger<> ReSharper теперь предлагает текущий тип в качестве автодополнения внутри угловых скобок, что экономит время при настройке.

Улучшенная обработка имен параметров в атрибутах [LoggerMessage]

ReSharper теперь подсказывает имена параметров в атрибутах [LoggerMessage] и корректно обновляет код, если соответствующие параметры были переименованы.

Новые проверки для LoggerMessage

Теперь ReSharper умеет находить пропущенные параметры и повторяющиеся элементы логов в атрибутах [LoggerMessage] и предлагает соответствующие быстрые исправления.

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

Подсказки по использованию диапазонного индексатора

ReSharper теперь чаще подсказывает, когда можно использовать диапазонный индексатор. Например, он предложит заменить s.Substring(a, b - a) на s[a..b], если это уместно.

Поиск лишних границ в диапазонах

Теперь ReSharper лучше определяет, когда в выражении с диапазоном явно указаны начальная или конечная границы, которые можно опустить, и помогает сделать такие операции проще и понятнее.

Улучшенная интеграция с Roslyn

ReSharper стал лучше работать с настройками инспекций Roslyn и теперь позволяет включать и отключать их через #pragma или настройки уровней критичности.

Эффективность

Встроенные рефакторинги с подсказками прямо в коде

Теперь при рефакторинге нужные действия появляются в виде небольших подсказок прямо в коде. Так их проще заметить, и они работают так же, как в других JetBrains IDE. Их внешний вид можно настроить в меню ReSharper | Settings | Environment | Editor | Appearance.

Новое действие: Convert to local function

Теперь можно быстро преобразовать метод в локальную функцию с помощью специального действия в контекстном меню — это помогает сделать код чище и понятнее.

Поддержка атрибута ConstantExpected

ReSharper предупредит, если в параметр с атрибутом [ConstantExpected] передается неконстантное значение, что поможет избежать скрытых ошибок.

Новая проверка на повторяющиеся ветви switch

ReSharper теперь находит повторяющиеся ветви в конструкции switch и предлагает быстро их объединить, чтобы сделать код компактнее.

Поддержка C++

В ReSharper 2025.2 внесены дополнительные улучшения для современной разработки на C++:

  • Поддержка начального набора языковых возможностей из недавно утвержденного стандарта C++26.
  • Функции помощи при написании кода теперь полностью доступны при редактировании кода в блоках, исключенных с помощью директивы #if. При этом вам даже больше не надо переключать активную конфигурацию сборки.
  • Новая настройка стиля синтаксиса и контекстное действие помогут отсортировать определения в исходном файле в порядке их объявления.
  • Подсветка идентификатора для глобальных констант, поддержка ссылок на переменные в директивах OpenMP #pragma и другие новые функции помощи при написании кода.

Больше информации о функциях для C++ вы найдете на странице, посвященной ReSharper C++ 2025.2.

Непрерывная интеграция

Прекращение поддержки расширения TeamCity

В релизе 2025.2 мы прекращаем поддержку расширения TeamCity для Visual Studio.

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

Качественный код

Проверка CQRS Экспериментальная функция

В ReSharper 2025.2 добавлены экспериментальные инспекции, которые помогают соблюдать паттерн CQRS (Command Query Responsibility Segregation). Они находят несоответствия в именах, пересечения контекстов и конфликты между аннотациями и названиями. Для таких случаев есть быстрые исправления: можно удалить лишние атрибуты или переименовать сущности, чтобы соответствовать стандартам.

По умолчанию проверка CQRS отключена. Ее можно включить в Options | Code Inspection | CQRS Validation. Необходимые аннотации есть в пакете JetBrains.Annotations.