News

ReSharper C++ 2022.2: Blueprints Support and Faster Unreal Engine Indexing

ReSharper C++ 2022.2 is now available!

Update to this latest version, or start a free 30-day trial today! The brand new build is available on our website, and all of our tools for Visual Studio can be downloaded via the Toolbox App.

ReSharper C++ 2022.2

Check out the highlights and visit our What’s New page for more details:

DOWNLOAD RESHARPER C++

Blueprints support

Blueprint is a gameplay visual scripting system in Unreal Engine. ReSharper C++ now reads Blueprints and introduces a new type of hint to help you see how Blueprint designers use and extend the baseline system implemented in the C++ part of your Unreal Engine game. With the new Blueprint hints, you’ll be aware of derived Blueprint classes, UFunction implementations, and the write access to and default values of UProperties.
UProperty values set in Blueprints

We’ve also introduced two inspections to let you know if there are inconsistencies between the Blueprint-specific function specifiers used in the code and the Blueprints themselves:

  • BlueprintCallable function is never used in Blueprint or C++ code.
  • BlueprintImplementableEvent function is not implemented in any blueprint.
Due to their possible performance impact, Blueprint features are currently available only for ReSharper C++ in the 64-bit version of Visual Studio (VS 2022).

Check out this blog post for more details about the new Blueprint-specific hints and inspections.

Faster indexing

We’ve significantly improved the indexing speed of Unreal Engine code. As a result of caching precompiled headers, ReSharper C++ now indexes the engine code up to twice as fast as before. The measurements on different versions of Unreal Engine show a 45–48% improvement:

i9-11950H (2.6GHz), 32 GB RAM
Visual Studio 2022
ReSharper C++ 2022.1.2 vs ReSharper C++ 2022.2
Faster indexing

By default the precompiled header files are cached during initial indexing, but you can configure this behavior on the Code Editing | C++ | Unreal Engine page of ReSharper settings.

This experimental performance boost is currently available for Visual Studio 2022 only.

C++ support

ReSharper C++ is now better at handling emplace– and make-like function calls, improving search and navigation features, and adding support for parameter name hints.
Parameter name hints for emplace

Unreal Engine containers in Emplace calls also benefit from this update. You’ll now get parameter name hints and warnings about invalid arguments.
Parameter name hints for Emplace

We’ve also updated the bundled Clang-Tidy binary to Clang 14, adding new checks from the latest LLVM release.
Clang-Tidy 14

Unit Testing

ReSharper C++ now supports Spec tests from the Unreal Engine automation testing framework. If you have a set of tests defined in the Define method after the DEFINE_SPEC macro or the BEGIN_DEFINE_SPEC/END_DEFINE_SPEC macros, ReSharper C++ will successfully discover them.
UE Spec tests

We’ve also updated Boost.Test support and fixed issues with data-driven test cases.
BOOST_DATA_TEST_CASE

Coding assistance

We’ve improved the readability of error tooltips by adding syntax highlighting for more cases. The error highlighting range is now also more precise. For example, when getting an aggregate initialization warning, you can now tell at a glance exactly which subobject caused the initialization failure.
Improved error rendering

For Unreal Engine projects, the code completion list now includes Widget metadata specifiers.
Widgets metadata specifiers

We’ve added one more easy way to generate documentation comments. You can now create a documentation stub by pressing Enter inside a /**/ comment before the entity you wish to document.
Press Enter inside a /**/ comment

ReSharper C++ 2022.2 also introduces support for the Public Include Directories and All Header Files are Public project properties.

Those are all the highlights for today! The full list of fixed issues is available in our issue tracker.
Take a look at What’s New in ReSharper to learn about other changes introduced in this release. For example, you can now remove temporary files generated by ReSharper while it is working on your code (ReSharper | Options | Environment | Disk Cleanup).

Give the new release a try and let us know what you think. We love hearing from you!

DOWNLOAD RESHARPER C++

Your ReSharper C++ team
JetBrains
The Drive to Develop