Что нового в ReSharper C++ 2025.1

В ReSharper C++ 2025.1 улучшен механизм вычисления constexpr и добавлена поддержка новых расширений GNU для кросс-платформенной разработки. Также доступен новый рефакторинг Inline Macro, улучшена поддержка GoogleTest и обеспечена совместимость Clang-Tidy с платформой ARM. Разработчики Unreal Engine оценят улучшенное использование памяти в проектах с большим количеством Blueprints.

Возможности языка

ReSharper C++ 2025.1 поддерживает несколько новых расширений GNU, включая:

  • Условные выражения с пропущенными операндами
  • Директивы #import
  • Типы с плавающей запятой _Float16, __bf16 и __float128
  • Локальные метки
  • Синтаксис инициализаторов с диапазонами

Теперь также поддерживаются десятичные типы с плавающей запятой из стандарта C23.

Кроме того, мы улучшили механизм вычисления constexpr. Теперь ReSharper C++ может вычислять constexpr-функции, содержащие switch, if-выражения с инициализатором, структурированные привязки и простую инициализацию. Кроме того, сгенерированные компилятором operator== по умолчанию из C++20 тоже будут вычисляться.

Unreal Engine

В ReSharper C++ 2025.1 мы оптимизировали потребление памяти при использовании функций, связанных с Blueprints. Кэшированные данные теперь сохраняются на диск, что позволяет существенно снизить потребление памяти в проектах с большим количеством Blueprints и повысить общую производительность.

Кроме того, добавлена поддержка макросов UMETA и UPARAM: теперь ReSharper C++ распознает их и подсвечивает, предлагает автодополнение и показывает подсказки для макросов и их атрибутов.

Если вы хотите разрабатывать на Unreal Engine в отдельной кросс-платформенной IDE, обратите внимание на Rider. Поддержка Unreal Engine в Rider соответствует возможностям ReSharper C++, поэтому в Rider 2025.1 вас ждут такие же улучшения.

Рефакторинг Inline Macro

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

Помощь при написании кода

Улучшенное действие Switch Header/Source теперь предлагает не только файлы с совпадающими именами, но и файлы, содержащие объявление или определение функции из текущего файла, для упрощения навигации.

Ссылки на функции внутри атрибутов __declspec(property) теперь корректно подсвечиваются, отображаются в Find Usages и обновляются при переименовании.

Новая инспекция Redundant forward declaration обнаруживает дублирующиеся предварительные объявления классов в одном файле и предлагает быстрое исправление для их удаления.

Улучшения в поддержке Clang-Tidy

В ReSharper C++ 2025.1 встроенный Clang-Tidy обновлен до Clang 20 с самыми свежими проверками и улучшениями из последнего релиза LLVM. Также улучшена поддержка ARM и добавлена версия Clang-Tidy для Windows на ARM.

Теперь все проверки Clang-Tidy удобно сгруппированы по префиксам в настройках уровня инспекций (Inspection Severity ) — находить нужные проверки и включать или отключать целые группы стало проще.

GoogleTest

ReSharper C++ 2025.1 включает несколько обновлений поддержки GoogleTest. Теперь при запуске параметризованных тестов по значениям и типам, все связанные с ними тест-кейсы группируются под соответствующим тестом, благодаря чему результаты становятся более удобными для восприятия.

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

В свежей версии ReSharper тоже много нового.

OSZAR »