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.
Check out the highlights and visit our What’s New page for more details:
- Blueprints support: new inlay hints and inspections.
- Performance boost for Unreal Engine indexing.
- C++ support: better handling of
make-like function calls, as well as new checks from Clang 14.
- Unit Testing: support for Unreal Engine Spec tests and updates for Boost.
- Improved error rendering and other coding assistance updates.
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
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.
Check out this blog post for more details about the new Blueprint-specific hints and inspections.
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
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.
ReSharper C++ is now better at handling
make-like function calls, improving search and navigation features, and adding support for parameter name hints.
Unreal Engine containers in
Emplace calls also benefit from this update. You’ll now get parameter name hints and warnings about invalid arguments.
We’ve also updated the bundled Clang-Tidy binary to Clang 14, adding new checks from the latest LLVM release.
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
END_DEFINE_SPEC macros, ReSharper C++ will successfully discover them.
We’ve also updated Boost.Test support and fixed issues with data-driven test cases.
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.
For Unreal Engine projects, the code completion list now includes Widget 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.
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!
Your ReSharper C++ team
The Drive to Develop
Subscribe to Blog updates
Thanks, we've got you!