ReSharper 2017.1 Help

Syntax Styles

One of the aspects of the code style is how to use interchangeable language syntax constructions. For example, two method definitions below are identical from the compiler point of view, but the choice of syntax constructions makes them look different:

[Conditional("DEBUG")] [Test] static public void Foo(String str) { foreach (Char ch in str) { System.Console.WriteLine(value: ch); } }
[Test, Conditional("DEBUG")] public static void Foo(string str) { foreach (var ch in str) Console.WriteLine(ch); }

If you want to use interchangeable syntax constructions consistently throughout your code base, you can configure your preferences on the Code Editing | [language] | Code Style page of ReSharper options, share them with your team, and apply them in the desired scope.

In this topic:

Checking and fixing code syntax style with code inspections

ReSharper provides a number of code inspections that check your code for compliance with your code syntax style and suggests quick-fixes where the style is violated- for example, if the order of modifiers differs from your preferences:

Sorting modifiers

If you need to review all code syntax style problems in a desired scope, up to the whole solution, you can run code inspection in this scope. When the analysis is over, group the results by issue category, and check what problems there are and where:

Code syntax style issues found in a solution

All of the code syntax style inspections are configurable and you can disable the ones that you do not like.
You can also go through the list of code syntax style inspections and configure all of them in one go. There are two ways to do so:

  • On the Code Editing | [language] | Code Style page of ReSharper options, use selectors in the Notify with column and choose Do not show for inspections that you want to disable.
    On this options page, you can also change preferences for each code syntax style rule.
  • On the Code Inspection | Inspection Severity page of ReSharper options, find code syntax style inspections in the [language] | Code Style groups and clear check boxes next to the ones you want to disable.

Applying code syntax style with code cleanup

To apply code syntax style in the desired scope, you can also use code cleanup. You can either run code cleanup with the default profile Default: Full Cleanup to apply all code syntax style rules, or create and run a custom profile with a desired subset of code syntax style rules.

Additional actions for code syntax style in C#

In C#, ReSharper provides a dedicated action Ctrl+Alt+S ( ReSharper | Edit | Apply Code Style ) for applying your code syntax styles.

To apply C# code syntax styles for existing code

  1. Select the scope where you want to apply code style preferences:
    • Make a selection in the editor to apply code style preferences in the selection.
    • Set the caret anywhere in the file to apply code style preferences in the file.
    • Select one or more items in the Solution Explorer to apply code style preferences in files under these items and their child items.
  2. Press Ctrl+Alt+S or choose ReSharper | Edit | Apply Code Style in the main menu.

You can also apply code syntax styles in the current selection with the corresponding context action.

To apply C# code syntax styles in the current selection

  1. In the editor, select a block of code where you want to apply code syntax styles.
  2. Press Alt+Enter or click on the action indicator to the left of the caret to open the action list.
  3. Select /help/img/dotnet/2017.1/ThemedIcon.CodeStyle.Screen.[Gray].png Apply code style in the action list.

Applicability in different languages

Most of ReSharper's code syntax style features are available in C#, some are available in several languages, others are language-specific. The table below lists all code syntax style features and languages/technologies where they are supported.

The instructions and examples given in the topics within this section address the use of code syntax style features in C#. For more information on code syntax style features available for specific languages, see the corresponding topics in the ReSharper by Language section.

C# VB.NET C++ HTML ASPX Razor JavaScript TypeScript CSS XML XAML RESX Build Scripts Protobuf JSON
Implicit/explicit typing Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Built-in type references Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Bodies of function members Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Optional member qualifiers Feature is available Feature is not available Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Modifiers Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Namespace/module import Feature is available Feature is available Feature is not available Feature is not available Feature is available Feature is available Feature is not available Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Named/positional arguments Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Optional parentheses Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Attributes style Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Braces for single nested statements Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Double/single quotes Feature is not available Feature is not available Feature is not available Feature is available Feature is not available Feature is not available Feature is available Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available
Last modified: 4 July 2017