ReSharper C++
The Visual Studio Extension for C++ Development
The ReSharper C++ 2023.3 EAP Is Now Open
The ReSharper C++ 2023.3 Early Access Program starts today!
In case you’ve never participated in our EAPs, in short, this means that we’ll be rolling out a new preview build every week, and these builds are free to use. We encourage you to try them out and share your thoughts on the latest improvements and features so we can make ReSharper C++ better for you.
You can download the free EAP builds from our website or via the Toolbox App.
Unreal Engine
We’re starting the new release cycle off with a few nice additions for Unreal Engine projects. Are there any others you want us to implement? Submit a feature request!
A new inspection helps you avoid falling into one of the common traps of the AddDynamic
helper macro. You now get a warning when a dynamic delegate function is not marked with the UFUNCTION
macro:
If you still find yourself writing boilerplate code occasionally, don’t forget that the Alt+Insert
shortcut is available to automatically generate almost everything you need. In this EAP build, we’ve tuned the generation of hash functions to take the Unreal Engine style into account.
Coding assistance
The #pragma region
and #pragma endregion
pair of directives lets you specify a foldable block of code. Like with other matching directives, you can now jump between the two using Go to Declaration on a #pragma
directive or a new inlay hint with the region name.
Furthermore, the File Structure window now allows you to conveniently fold regions and navigate to the corresponding code blocks.
ReSharper C++ now suggests a new quick-fix to remove redundant conditional operators and simplify ternary conditional expressions:
In C code, void
is sometimes used in a parameter list to indicate that the function doesn’t take any arguments. ReSharper C++ now treats this special void
more carefully when you invoke the Extract method or Change signature refactorings, generate a new function from its usage, or generate a definition.
Among other notable features, we’ve introduced a set of warnings for incorrect usages of the export
keyword in C++20 modules. ReSharper C++ now suggests removing export
when the declaration is already enclosed by another export declaration or when the declaration is not in a module interface unit and cannot be exported. You’ll also get a suggestion to move export
if you try templating the export declaration instead of exporting the template declaration.
We’ve also implemented support for a new InsertNewlineAtEOF
clang-format setting for both importing formatter settings from .clang-format
files and using an external clang-format executable.
Those are all the highlights for this first EAP build! The full list of fixed issues is available in our YouTrack. We’re always keen to receive your feedback about new features and updates!
Your ReSharper C++ team
JetBrains
The Drive to Develop