ReSharper C++ 2019.2

Includes many code completion, navigation, and code analysis enhancements.
August 09, 2019 - 15:06
New Version

Features

Faster startup times

  • JetBrains have finalized a new preprocessor implementation used inside ReSharper C++; there are now two of them.
  • A newer one used for indexing, and an older one used for everything else.
  • The new one delivers 15-25% faster indexing on typical solutions, like LLVM and Unreal Engine.

Code completion

  • In code completion, ReSharper C++ shows a summary tooltip for each item in the completion list (controlled by the Show summary checkbox in the Environment | IntelliSense | Completion Appearance page of the ReSharper options).
  • The description for the selected completion item is now colored and shows the documentation for the corresponding item.

Code hints

  • The editor has even more code hints to help improve code readability.
  • New hints were introduced after preprocessor directives and for function arguments that are passed by a non-const reference.
  • Hints in aggregate initialization expressions now show the names of the initialized base classes.

More C++20 support

  • The C++20 standard is almost ready to be signed off on by the C++ committee. ReSharper C++ 2019.2 has support for:
    • conditional 'explicit',
    • new 'char8_t' type,
    • pack expansion in lambda init-capture,
    • default constructible and assignable stateless lambdas,
    • C++20 rules for aggregates,
    • 'consteval' and 'constinit' specifiers,
    • C++20 improvements to structured binding declarations.

Typing assist

  • Typing assist in multiline comments was improved
    • Multiline comments that use single-line syntax are automatically extended.
    • Extending multiline comments now inserts correct indentation when virtual space is enabled.
  • Wrapping code blocks with braces is now even easier – just select a block of code or an expression and then type an opening brace. ReSharper C++ will do the rest for you.

Formatter

  • ReSharper C++ 2019.2 includes new formatter options:
    • Use continuous line indent in function declaration and invocation parentheses.
    • Prefer wrap before ")" in declaration.
    • Prefer wrap before ")" in invocation.
    • Use continuous line indent in initializer lists.
    • Align initializer list arguments.
    • Prefer wrap after "{" in initializer lists.
    • Prefer wrap before "{" in initializer lists.

Code analysis

  • New inspections are available to help you catch more code smells:
    • Unmatched preprocessor directive.
    • Explicitly defaulted special member function is implicitly deleted.
    • Redundant final function specifier in a final class.
  • The 'Use static_cast' fix for the C-style cast used inspection can be run in bulk and as part of Code Cleanup.

Navigation

  • Code navigation actions got an accuracy-targeted update:
    • 'Go to declaration' can navigate to the default constructor called when an object is default-initialized in variable declarations and new expressions.
    • 'Find usages' finds usages of default constructors in default initialization.
    • 'Go to symbol' now hides symbols with qualified names (like, for example, out-of-class function definitions).
  • Search in a file right through the 'Go to File member' dialog. The result list will have names of all matched members, and all the places where the search string appears in the file.

Unreal Engine

  • In the previous release, JetBrains began to work towards better support for UE4-specific Remote Procedure Calls. Now, they've updated the 'Rename' and 'Change Signature' refactorings to work correctly on RPC functions. A few new code analysis checks are also available for UE4-based code, especially targeting the missing or incorrectly set UE4 reflection macros.
  • Following on from adding code completion for reflection specifiers in v2019.1, JetBrains have now added built-in documentation for them. It is shown in the Quick Documentation popup (CtrlQ) when the caret is located on a specifier.

Other features

  • ReSharper C++ 2019.2 provides initial support for the “Per-Monitor DPI Awareness” mode introduced in Visual Studio 2019.
  • Updated the ReSharper | Options | Environment | Performance Guide page, adding a Windows Defender section as well as descriptions for all performance tips explaining what exactly will be done after a suggestion is applied.
  • C++ assemblies from ReSharper C++ are now included in the ReSharper SDK.
ReSharper C++

ReSharper C++

Visual Studio extension for C++ development.

Got a Question?

Live Chat with our JetBrains licensing specialists now.