ReSharper 2016.3 Help

Dealing with Different Language Versions

As programming languages evolve, it is only natural to improve your code with new language features. On the other hand, there may be factors that prevent you from upgrading to the newest language version.

ReSharper is aware of different language versions. It analyzes code and applies its own features according to the current language version. Language version is detected automatically for each language, but you can set version manually for some of the languages as described below:

C#

ReSharper 2016.3 fully supports all C# versions up to C# 6.0 and partially C# 7.0. By default, ReSharper automatically detects C# version based on the associated compiler. However, you can specify the target C# version explicitly by selecting the project in the Solution Explorer and using the C# Language Level property in the Visual Studio's Properties window (choose View | Properties Window in the menu).

VB.NET

ReSharper 2016.3 fully supports all VB.NET versions up to VB 14 and partially VB 15. By default, ReSharper automatically detects VB.NET version based on the associated compiler. However, you can specify the target VB.NET version explicitly by selecting the project in the Solution Explorer and using the VB.NET Language Level property in the Visual Studio's Properties window (choose View | Properties Window in the menu).

TypeScript

ReSharper 2016.3 fully supports all TypeScript versions up to 2.0. ReSharper automatically detects TypeScript version by the <TypeScriptToolsVersion> property in the Visual Studio project file. But you can specify the target TypeScript version explicitly using the TypeScript language level selector on the Code Editing | TypeScript | Inspections page of ReSharper options.

JavaScript

ReSharper fully supports JavaScript up to ECMAScript 2016, including experimental features such as async/await, exponentiation operator and rest/spread in object literals/destructuring. jQuery and JSX syntax are supported as well.

By default, code inspection and other ReSharper features analyze JavaScript code according to the ECMAScript 5 standard, which is supported universally. If you use more advanced JavaScript code in your project, you can change the target ECMAScript level on the Code Editing | JavaScript | Inspections page of ReSharper options.

C++

ReSharper 2016.3 supports C, C++03, and partially C++11, C++14, C++17. ReSharper detects C++ version automatically based on the platform toolset (General | Platform Toolset in the project properties) and/or on the /std switch.

CSS

ReSharper supports CSS up to version 4.0. In practical terms, CSS version is by far less important than CSS feature set supported by different web browsers. Therefore, ReSharper lets you tune its CSS code inspection for specific versions of particular web browsers. You can configure it on the Code Editing | CSS | Inspections options page.

Last modified: 12 October 2017