CLion 2020.2 Help

Unwrapping and Removing Statements

For C++, this refactoring safely unwraps if...else, for, while, do...while and try...catch control statements, or accurately removes enclosing parts of the nested statements.

Besides C++, the Unwrap/Remove action is available for:

Unwrap or remove a statement

  1. Place the caret at the expression you want to unwrap or remove.

  2. Choose Code | Unwrap/Remove from the main menu or press Ctrl+Shift+Delete. CLion shows a popup with all the actions that are available in the current context. Statements to be kept after unwrapping are displayed on the blue background, statements to be removed are displayed on the grey background.

  3. Click the desired action or select it using the up and down arrow keys and press Enter.

Examples in different languages showing statements unwrapping:

Unwrap statement example
BeforeAfter
@implementation SClass - (int)sqrV { if (v != 0) return v * v; else // this 'else' statement will be removed return 0; } @end
@implementation SClass - (int)sqrV { if (v != 0) return v * v; } @end
BeforeAfter
count = 0 # This 'while' statement will be unwrapped while True: print(count) count += 1 if count >= 5: break
count = 0 print(count) count += 1 if count >= 5: break
BeforeAfter
function GetCookie (name) { var arg = name + "="; var alen = arg.length; var i = 0; // This 'while' statement will be unwrapped while (i != document.cookie.length) { var j = i + document.cookie.length; i++; } }
function GetCookie (name) { var arg = name + "="; var alen = arg.length; var i = 0; var j = i + document.cookie.length; i++; }

Last modified: 06 July 2020