Early Access Program

ReSharper C++ 2020.1 EAP: Rearrange Code, Code Completion, and UE4 Naming

With this EAP build, the well-known Rearrange code and Complete Statement features from ReSharper for .NET have finally come to ReSharper C++! Read on for details about these features, as well as other highlights of this build:

Download the new ReSharper C++ EAP build from our website, or via the Toolbox App.


Rearrange code

ReSharper С++ now allows you to quickly rearrange expressions, statements, and other elements in your code. To rearrange code, press Ctrl+Shift+Alt over the code element or selection that you want to move, then press any arrow key. If you invoke this command without first selecting something, the movable element is selected automatically.

The Move up and Move down commands are pretty straightforward – they can move elements within a specific scope up and down relative to other elements in this scope, or between neighboring scopes. You can use the Move up and Move down commands on statements and declarations, sections in a switch statement, enumerators, catch sections within a try-catch statement, conditions or branches in if statements, and more.
Rearrange code: move down

You can also move opening or closing braces up or down to expand or shrink the current compound statement, type, or namespace:
Move to expand or shrink

There are also two modes for Move left and Move right, which allow you to:

  • Rearrange elements that are normally written in a single line (though they also work if the elements are written in multiple lines). You can use Move left and Move right on elements in a braced initializer list, as well as function or lambda parameters and arguments, and so on.
    Rearrange code: move left
  • Move a statement or a declaration into the region that directly follows it (move right) or outside the current region (move left):
    Rearrange code: move left

Complete Statement

The Complete Statement feature inserts required syntax elements and puts the caret in a position where you can start typing the next statement.
With ReSharper C++, you can now use the Ctrl+Shift+Enter shortcut instead of having to perform lots of other small actions. For example, this shortcut will automatically insert braces and a semicolon, and then put the caret where you can proceed to write the body:
Complete statement

Completion in macro definitions

It is hard to believe that code completion had remained unsupported in macro definitions. Until now! Starting with 2020.1, ReSharper C++ now provides context-aware code completion in macros to help you be even more productive:
Completion in macro definitions

UE4 naming conventions

We introduced support for Unreal Engine naming conventions a year ago in the 2019.1 release. But if there is something to improve, we are always ready to do it. In 2020.1, we’ve upgraded our naming rules with two small entries: ReSharper C++ now works better with the names of console variables and log categories.

Those are all the major improvements in this update. The full list of changes, including bug fixes and minor improvements, can be found in our issue tracker.


Your ReSharper C++ team
The Drive to Develop

Comments below can no longer be edited.

5 Responses to ReSharper C++ 2020.1 EAP: Rearrange Code, Code Completion, and UE4 Naming

  1. Avatar

    Mike Diack says:

    March 26, 2020

    Now that LLVM 10.0.0 final is out (with builds at: https://releases.llvm.org/download.html ), is it possible that Resharper could use it soon? (I appreciate it may now be too late to use it in 2020.1, given that I guess you are at feature freeze). Even if not, surely you can update Resharper to use clang-tidy 9.0.1 – currently you are using 9.0.0, which dates back to last Summer, 9.0.1 came out in Dec 2019.?


    • Avatar

      Igor Akhmetov says:

      March 26, 2020

      Hello Mike,
      Clang-tidy 10 will be bundled in EAP 7. To be fair, 9.0 was released at the end of last September. We do not usually update the bundled binary with minor LLVM releases, since the introduced fixes usually do not have to do with clang-tidy. But if you’re missing something specific from a minor release, do let us know.

  2. Avatar

    Rick says:

    April 18, 2020

    It’s all nice, but somehow it’s also all so hollow and overwhelming. How many keyboard shortcuts are there to remember? 100? 1000? Its the same with all modern software, Resharper is no exception. When I read about updates, I skim the text and think “Yeah, nice, but I know I’m never going to use it, because I can’t remember it all”

    • Anastasia Kazakova

      Anastasia Kazakova says:

      April 20, 2020

      You can limit it all to just Alt+Enter or Ctrl+Shift+A to find all available actions!

  3. Avatar

    Bart says:

    May 27, 2020

    My most missed IntelliJ feature has arrived 🙂 Yeeey 🙂