Home> Products> ReSharper> Features> Coding Assistance

Coding Assistance

Click a button to display features available in specific edition.



      Code Completion

      ReSharper complements and extends Visual Studio's native code completion of C# and VB.NET code (IntelliSense) with more advanced capabilities. For example, it narrows down the list of suggestions based on your typing, adds parentheses when completing method names, completes variable and field names depending on their types, and so on.

      Symbol Code Completion (C# only)

      Use Ctrl + Space for completing C# variables and methods, currently visible type names, C# keywords, and more. ReSharper can also automatically suggest prefixes when declaring identifiers, according to your coding guidelines.


      Smart Code Completion

      Smart Code Completion, invoked with Ctrl + Shift + Space, filters the list of methods and variables to match the expected type of an expression. For example, when you use Smart Completion for method call arguments, the list of suggested values is narrowed down only to the required parameter type.

      Type Name Completion

      Type Name Completion is invoked with Ctrl + Alt + Space. Unlike basic completion (which only completes types accessible at the current location), ReSharper completes the names of types available in the current project, and automatically adds the appropriate namespace import directives when necessary.

      to the top

      Context actions

      Context actions are intended for local code transformations that you may want to perform in a certain context. ReSharper automatically indicates when one or more context actions are available at the current caret position with the yellow light bulb screenshot to the left of the code line. Context actions are applied just like quick-fixes. You can either click the bulb or press Alt + Enter, and then select the desired action.

      Context action for concatenated string

      Generated format string

      Context action for splitting declaration and assignment

      Declaration split from assignment

      Context actions can be disabled and enabled via the Options dialog.

      to the top

      Quick Documentation Lookup

      To see the documentation for a certain class, function or other symbol right in the editor, position the caret on the symbol name and press Ctrl + Q. The documentation shows in a popup window with clickable links to other resources.

      to the top

      Parameter Info

      This part of Visual Studio's IntelliSense is also extended in ReSharper. When you call a method, it shows you all possible method signatures and parameters with relevant documentation (the tooltip appears automatically while you type, or you can display it by pressing Ctrl + P). While you are adding new arguments, ReSharper grays out all incompatible signatures.

      to the top

      Parentheses Matching

      Matching parentheses/brackets/braces are highlighted whenever you place the caret immediately before/after the closing character (in C#). In Visual Basic, the matching Sub or Function are highlighted when the caret is placed anywhere within or after End Sub or End Function. Similarly, the matching parenthesis/bracket/brace is highlighted whenever you place the caret immediately before/after an opening character (this option is configurable).

      to the top

      Parentheses and Quotes Auto-Insertion

      When you type (, [, ", or ' in the editor, a paired character is inserted automatically (whenever appropriate). This feature may be easily switched off, but you don't be afraid of inserting too many closing parentheses, brackets, or quotes by mistake: ReSharper will recognize the closing parenthesis or quote already exists and will leave only one character printed.

      to the top

      Comment/Uncomment Code

      Promptly comment or uncomment any block of C# or Visual Basic code by selecting it in the editor and pressing Ctrl + / (for line comment) or Ctrl + Shift + / (for block comments in C#).

      You can also use Ctrl + / to quickly comment or uncomment the line of code where the caret is located in the editor if no block code has been selected. In the same circumstance, pressing Ctrl + Shift + / inserts the opening block comment /* and the closing block comment */ immediately before and immediately after the caret's position, or removes them if the caret is positioned inside the commented code block.

      to the top

      Extend/Shrink Selection

      Extend Selection feature allows the user to successively select expanding blocks of code so that you may easily select any expression in the code by placing the caret somewhere inside it and pressing Ctrl + W a few times. Shrink Selection works in the opposite way and can be applied by pressing the Ctrl + Shift + W shortcut.

      to the top

      Duplicate Line/Block

      Quickly duplicate any line (block) of code by placing the caret at this line in the editor (respectively, selecting the desired block) and pressing Ctrl + D.

      to the top


          Code Completion

          ReSharper complements and extends Visual Studio's native code completion (IntelliSense) with more advanced capabilities. For example, it narrows down the list of suggestions based on your typing, adds parentheses when completing method names, completes variable and field names depending on their types, and so on.

          Symbol Code Completion (C# only)

          Use Ctrl + Space for completing variables and methods, currently visible type names, C# keywords, and more. ReSharper can also automatically suggest prefixes when declaring identifiers, according to your coding guidelines.


          Smart Code Completion

          Smart Code Completion, invoked with Ctrl + Shift + Space, filters the list of methods and variables to match the expected type of an expression. For example, when you use Smart Completion for method call arguments, the list of suggested values is narrowed down only to the required parameter type.


          Type Name Completion

          Type Name Completion is invoked with Ctrl + Alt + Space. Unlike basic completion (which only completes types accessible at the current location), ReSharper completes the names of types available in the current project, and automatically adds the appropriate using directives when necessary.


          to the top

          Context actions

          Context actions are intended for local code transformations that you may want to perform in a certain context. ReSharper automatically indicates when one or more context actions are available at the current caret position with the yellow light bulb screenshot to the left of the code line. Context actions are applied just like quick-fixes. You can either click the bulb or press Alt + Enter, and then select the desired action.


          Context action for concatenated string


          Generated format string

          Context actions can be disabled and enabled via the Options dialog.

          to the top

          Quick Documentation Lookup

          To see the documentation for a certain class, method, or other symbol right in the editor, position the caret on the symbol name and press Ctrl + Q. The documentation shows in a popup window with clickable links to other resources.


          to the top

          Parameter Info


          This part of Visual Studio's IntelliSense is also extended in ReSharper. When you call a method, it shows you all possible method signatures and parameters with relevant documentation (the tooltip appears automatically while you type, or you can display it by pressing Ctrl + P). While you are adding new arguments, ReSharper grays out all incompatible signatures.

          to the top

          Parentheses Matching

          Matching parentheses/brackets/braces are highlighted whenever you place the caret immediately before/after the closing character. Similarly, the matching parenthesis/bracket/brace is highlighted whenever you place the caret immediately before/after an opening character (this option is configurable).

          If the matching piece of code scrolls off the screen, an appropriate popup appears for your convenience.


          to the top

          Parentheses and Quotes Auto-Insertion

          When you type (, [, ", or ' in the editor, a paired character is inserted automatically (whenever appropriate). This feature may be easily switched off, but you don't be afraid of inserting too many closing parentheses, brackets, or quotes by mistake: ReSharper will recognize the closing parenthesis or quote already exists and will leave only one character printed.

          to the top

          Comment/Uncomment Code

          Promptly comment or uncomment any block of C# or Visual Basic code by selecting it in the editor and pressing Ctrl + / (for line comment) or Ctrl + Shift + / (for block comment).

          You can also use Ctrl + / to quickly comment or uncomment the line of code where the caret is located in the editor if no block code has been selected. In the same circumstance, pressing Ctrl + Shift + / inserts the opening block comment /* and the closing block comment */ immediately before and immediately after the caret's position, or removes them if the caret is positioned inside the commented code block.

          to the top

          Extend/Shrink Selection

          Extend Selection feature allows the user to successively select expanding blocks of code so that you may easily select any expression in the code by placing the caret somewhere inside it and pressing Ctrl + W a few times. Shrink Selection works in the opposite way and can be applied by pressing the Ctrl + Shift + W shortcut.

          to the top

          Duplicate Line/Block

          Quickly duplicate any line (block) of code by placing the caret at this line in the editor (respectively, selecting the desired block) and pressing Ctrl + D.

          to the top


              Code Completion

              ReSharper complements and extends Visual Studio's native code completion (IntelliSense) with more advanced capabilities. For example, it narrows down the list of suggestions based on your typing, adds parentheses when completing method names, completes variable and field names depending on their types, and so on.

              Smart Code Completion

              Smart Code Completion, invoked with Ctrl + Shift + Space, filters the list of sub procedures and variables to match the expected type of an expression. For example, when you use Smart Completion for method call arguments, the list of suggested values is narrowed down only to the required parameter type.


              Type Name Completion

              Type Name Completion is invoked with Ctrl + Alt + Space. Unlike basic completion (which only completes types accessible at the current location), ReSharper completes the names of types available in the current project, and automatically adds the appropriate Import directives when necessary.


              to the top

              Context actions

              Context actions are intended for local code transformations that you may want to perform in a certain context. ReSharper automatically indicates when one or more context actions are available at the current caret position with the yellow light bulb screenshot to the left of the code line. Context actions are applied just like quick-fixes. You can either click the bulb or press Alt + Enter, and then select the desired action.


              Context action for splitting declaration and assignment


              Declaration split from assignment

              Context actions can be disabled and enabled via the Options dialog.

              to the top

              Quick Documentation Lookup

              To see the documentation for a certain class, function or other symbol right in the editor, position the caret on the symbol name and press Ctrl + Q. The documentation shows in a popup window with clickable links to other resources.


              to the top

              Parameter Info

              This part of Visual Studio's IntelliSense is also extended in ReSharper. When you call a method, it shows you all possible method signatures and parameters with relevant documentation (the tooltip appears automatically while you type, or you can display it by pressing Ctrl + P). While you are adding new arguments, ReSharper grays out all incompatible signatures.

              to the top

              Parentheses Matching

              The matching Sub or Function is highlighted when the caret is placed anywhere within or after End Sub or End Function. Similarly, the matching keyword and its line are highlighted whenever you place the caret within the opening keyword (this option is configurable).

              If the matching piece of code scrolls off the screen, an appropriate popup appears for your convenience.


              to the top

              Parentheses and Quotes Auto-Insertion

              When you type (, [, ", or ' in the editor, a paired character is inserted automatically (whenever appropriate). This feature may be easily switched off, but you shouldn't be afraid of inserting too many closing parentheses, brackets, or quotes by mistake: ReSharper will recognize the closing parenthesis or quote already exists and will leave only one character printed.

              to the top

              Comment/Uncomment Code

              Promptly comment or uncomment any block of C# or Visual Basic code by selecting it in the editor and pressing Ctrl + /.

              You can also use Ctrl + / to quickly comment or uncomment the line of code where the caret is located in the editor if no block code has been selected.

              to the top

              Extend/Shrink Selection

              Extend Selection feature allows the user to successively select expanding blocks of code so that you may easily select any expression in the code by placing the caret somewhere inside it and pressing Ctrl + W a few times. Shrink Selection works in the opposite way and can be applied by pressing the Ctrl + Shift + W shortcut.

              to the top

              Duplicate Line/Block

              Quickly duplicate any line (block) of code by placing the caret at this line in the editor (respectively, selecting the desired block) and pressing Ctrl + D.

              to the top