Early Access Program

ReSharper C++ 2021.3 EAP: Create New Unreal Engine Classes, and Updates for C Support

There hasn’t been much news from us for the last few builds, but this week we’ve collected a couple of new features to share with you: сreating new Unreal Engine classes based on predefined templates, inspection for redundant parentheses in lambda declarations, and support for C11 _Generic expressions and the GNU C typeof operator.

You can download the EAP builds from our website or via the Toolbox App.


Starting in 2021.3, you no longer need to switch to Unreal Editor to create a new class – all predefined templates for Unreal Engine classes are now available in the list of ReSharper file templates.
Create new Unreal Engine class

To create a new class, go to Solution Explorer, select the preferred project folder, and right-click on it to open the Add menu (or use Ctrl+Alt+Insert). Then select New from Template, and choose an Unreal Engine template from the list. After you enter the name, ReSharper C++ will generate header and source files with template code in corresponding folders depending on the private or public context. Note that you need to rebuild the project to make this new class available in the Unreal Editor.
New Character

You can use Templates Explorer (ReSharper | Tools | Templates Explorer) to edit the templates according to your needs and development practices.
Templates in Unreal Engine scope

This build introduces a new inspection that marks the redundant () in lambdas with no parameters, since a parameter list is not required in this case.
Redundant parameter list in lambda declarator

In addition to supporting new language features from the latest C++ standards, we are working on being even more helpful for cross-platform C code.

ReSharper C++ now supports C11 _Generic expressions, which provide a mechanism for limited compile-time choices in C. Using a generic selection expression, you can choose an expression at compile-time based on the type of the expression argument. This is especially useful for creating type-generic macros.
C11 _Generic

You’ll also get an error message when the controlling expression type is not compatible with any of the generic association types.
Сontrolling expression type is not compatible with any generic association type

We’ve also introduced support for the typeof – a GNU extension to C language for referring to the type of an expression.

Those are the biggest highlights from the latest EAP builds! Please report any issues you encounter to our issue tracker.


Your ReSharper C++ team
The Drive to Develop

image description