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

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.

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.

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).

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 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 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.