ReSharper by Language: C++
C++ support is available either with ReSharper C++ - a dedicated product that you can install separately or side by side with ReSharper, or with ReSharper Ultimate. C++ support includes C, C++03, and partially C++11, C++14, C++17. ATL, MFC and COM projects are supported. ReSharper detects C++ version automatically based on the platform toolset ( in the project properties) and/or on the /std switch.
In this topic:
- Unsupported and partly supported language constructs
- Disabling ReSharper's code analysis engine with the __RESHARPER__ macro
- Making ReSharper ignore specific code
Also in this section:
Unsupported and partly supported language constructs
Unsupported C++11 features:
Unsupported MS C++ extensions:
- C++ component extensions
- A new line immediately preceded by a backslash inside identifiers, keywords and numeric literals
- __identifier keyword
- Based Pointers
- Event Handling in Native C++
- When resolving names used in templates, all names are treated as dependent names
Partially supported MS C++ extensions:
Unsupported MS preprocessor extensions:
Disabling ReSharper's code analysis engine with the __RESHARPER__ macro
If some C++ construct is not supported by ReSharper's code analysis engine or parsed incorrectly, you can disable ReSharper for this code with the
__RESHARPER__ macro, i.e:
#ifndef __RESHARPER__ // This code will not be visible to ReSharper #endif
Making ReSharper ignore specific code
ReSharper allows you to ignore specific files, folders and file masks in different ways. You can configure ignored files on the following options pages:
- to exclude files, folders, and masks from code inspection.
- to partly disable code inspection for generated code.
- to specify files and folders that should be ignored by Navigation by Name commands.