ReSharper C++ 2026.1 быстрее запускается и потребляет меньше памяти. В этой версии мы добавили поддержку директивы #embed из C++26 и других новых возможностей языка, автоимпорт для модулей C++20 и новые сценарии постфиксного автодополнения. Разработчиков на Unreal Engine ждет улучшенная интеграция с Blueprint и полная совместимость с предстоящим Unreal Engine 5.8.
Мы значительно оптимизировали работу IDE на всех этапах, что особенно заметно в крупных проектах Unreal Engine. Наши замеры на проекте Lyra (Unreal Engine) в режиме Out-of-Process показали отличные результаты:
ReSharper C++ теперь поддерживает директиву препроцессора #embed, появившуюся в C++26 и C23. Она позволяет встраивать содержимое исполняемого файла ресурсов прямо в исходный код без использования внешних инструментов или генерации кода.
В этой версии также появилась поддержка еще двух возможностей языка:
_Countof: ReSharper C++ теперь распознает оператор _Countof из C2Y (будущего стандарта C), который возвращает количество элементов в массиве. bfloat16_t, float16_t, and float128_t из C++23.
ReSharper C++ 2026.1 лучше работает с расширениями компиляторов:
_Nullable/_Nonnull: парсер теперь распознает квалификаторы nullable-указателей из Clang.
Работать с модулями C++20 стало проще благодаря новой поддержке автоимпорта в ReSharper C++. Если вы используете экспортированный символ, но соответствующее объявление import отсутствует, IDE предложит вставить его автоматически. На данный момент автоимпорт работает только для символов, экспортированных напрямую из основных интерфейсных единиц и разделов модуля.
Постфиксное автодополнение теперь охватывает следующие сценарии:
int, bool, float и другими. 42.cos разворачивается в cos(42). _, ReSharper C++ предложит подходящие суффиксы operator"", доступные в текущей области видимости.
Работать с кодом стало комфортнее благодаря двум улучшениям автоотступа:
class [[deprecated]] MyClass {}). extern теперь учитывает настройку форматирования Indent linkage specification block members.
В ReSharper C++ 2026.1 улучшена поддержка Blueprint:
BlueprintPure в Code Vision: теперь Code Vision распознает функции со спецификатором BlueprintPure наряду с BlueprintCallable. BlueprintNativeEvent и BlueprintImplementableEvent прямо в ассетах Blueprint. BlueprintAssignable.
Теперь ReSharper C++ по умолчанию индексирует плагины Unreal Engine. Учитывая, что в проектах на Unreal Engine плагины используются все чаще, а производительность IDE заметно выросла, индексация плагинов по умолчанию обеспечит более качественный анализ кода и навигацию сразу после установки. Вернуть прежнее поведение можно на странице ReSharper | Options | Code Editing | C/C++ | Unreal Engine в Settings.
В ReSharper C++ также появилась поддержка изменений UnrealHeaderTool из предстоящего Unreal Engine 5.8. В частности, макросы DECLARE_DYNAMIC_MULTICAST_DELEGATE больше не вызывают ложноположительных ошибок при анализе кода.
Если вы хотите разрабатывать на Unreal Engine в отдельной кросс-платформенной IDE, обратите внимание на Rider. Поддержка Unreal Engine в Rider соответствует возможностям ReSharper C++, поэтому в Rider 2026.1 вас ждут такие же улучшения.
В ReSharper C++ 2026.1 встроенный Clang-Tidy обновлен до Clang 22 с самыми свежими проверками и улучшениями из последнего релиза LLVM.
Новая инспекция обнаруживает назначенные инициализаторы, порядок которых отличается от порядка объявления соответствующих членов в структуре. Поскольку C++20 требует, чтобы назначенные инициализаторы следовали порядку объявления, нарушение этого порядка приводит к ошибке компиляции. Теперь ReSharper C++ отмечает такие случаи и предлагает быстрое исправление, которое автоматически переупорядочивает список инициализации в соответствии с определением структуры.
Еще одна новая инспекция предупреждает, когда функция имеет иной уровень доступа (public, protected или private), чем виртуальная функция, которую она переопределяет в базовом классе. Хотя C++ допускает изменение уровня доступа при переопределении, на практике это часто происходит непреднамеренно и может приводить к неожиданному поведению. Инспекция помогает выявлять подобные неочевидные несоответствия.
В этом релизе инспекции Unused symbol распространяются на члены классов, определенные в файлах .cpp. Ранее считалось, что эти члены видимы извне, поэтому они не участвовали в анализе Unused symbol. Теперь они анализируются так же, как static-функции и члены анонимных пространств имен.
Мы доработали значки на полях в файлах C++, чтобы вам было проще ориентироваться в сложных кодовых базах и понимать их структуру.
Go to Declaration и другие действия навигации теперь работают на открывающей фигурной скобке в выражениях инициализации (например, MyStruct { 1 }) — в дополнение к имени типа.
Всплывающие подсказки ReSharper C++ теперь доступны для Visual Studio 2026. Мы вернули их поддержку, которой не хватало в первоначальном выпуске совместимости с Visual Studio 2026. Оформление подсказок также улучшено: иконки теперь помогают различать типы символов, а поддержка тем стала лучше.
Мы обновили некоторые элементы интерфейса в ReSharper, чтобы они лучше соответствовали современному стилю Visual Studio.
Благодаря редизайну интерфейс автодополнения теперь выглядит более лаконично и аккуратно.
Также мы обновили связанные элементы: подсказки параметров, тултипы и другие всплывающие элементы. Теперь они выглядят современнее, корректно отображаются при любом масштабе (DPI) и подстраиваются под выбранную тему оформления.
Обновленный интерфейс теперь поддерживает функцию масштабирования редактора Visual Studio, поэтому списки автодополнения и подсказки параметров корректно отображаются при изменинии масштаба в редакторе.
ReSharper C++ 2026.1 исправляет несколько проблем в модели проекта:
.tlb) в каталогах библиотек, настроенных в параметрах проекта Visual Studio. В свежей версии ReSharper тоже много нового.