What′s New in ReSharper C++

ReSharper C++ 2016.2 introduces new refactorings, code inspections and quick-fixes; helps generate and display documentation; speeds up initial indexing of large solutions.

Free 30-day trial
Take a short tour
Inline Variable refactoring in C++

Inline Variable refactoring

The mainline ReSharper's refactorings continue to make their way into ReSharper C++.

The latest update adds Inline Variable, which replaces all occurrences of a given variable or local constant with its initializer. The reverse functionality is provided by Introduce Variable.

Quick Documentation pop-up

Quick Documentation pop-up

ReSharper C++ 2016.2 adds the Quick Documentation pop-up to display documentation based on Doxygen comment blocks without having to navigate to a symbol's definition: just hit Ctrl+Shift+F1 in the default keymap.

Even if there is no Doxygen documentation available for a symbol, Quick Documentation will show the symbol's signature.

Generating stubs for C++ documentation comments

Generate and maintain doc comments

In a related change, you can now generate documentation comments for C++ declarators, classes and macro definitions via Alt+Enter. If you're not a fan of the comment stub that ReSharper C++ uses by default, you can customize it by editing the doc live template.

Speaking of documentation, ReSharper C++ can now complete, find usages and rename symbols in Doxygen comments.

Quick-fix to generate a missing switch default case

New code inspections and quick-fixes

ReSharper C++ 2016 further extends its assortment of code inspections and automated fixes.

For example, there's a new code inspection that warns you about missing include guards in your header files. An associated quick-fix helps automatically add a #pragma once directive.

Another new inspection detects a missing default case in a switch statement and suggests a quick-fix to add one.

In other news, ReSharper 2016 can now warn you about usages of classes and functions marked as [[deprecated]] or __declspec(deprecated).

Code style settings for default pointer initializer

More code style preferences

ReSharper C++ 2016.2 introduces code style preferences for default pointer initializer. You can specify 0, nullptr or NULL as the preferred initializer style, and ReSharper C++ will respect your choice when it generates new initializers for you. A similar code style preference is added for #include directives.

The code formatter is also evolving with new options for single-line functions and lambdas, blank lines around single-line function definitions, space between closing angle brackets in template arguments, and more ways to tune formatting to your or your team's preferences.

Auto-completion for C++ symbols not included in current file

Auto-completion adds includes

Automatic code completion in ReSharper C++ 2016.2 learns to suggest symbols that are not yet included in the current file. When you select a symbol like this in the completion list, the corresponding #include directive is added automatically.

Auto-highlighting for exit points

Auto-highlighting exit points

When you put the caret on one of exit points from a function, loop or a switch statement (return, throw, break etc.), ReSharper C++ will now automatically highlight all other exits.

Free 30-day trial