ReSharper Platform SDK
 
Because ReSharper Platform SDK undefined is still in development, this documentation may not be entirely accurate and is subject to change.

Code Completion

Last modified: 04 July 2023

Just like Visual Studio, ReSharper implements its own form of code completion (which Visual Studio calls IntelliSense) that is used to provide various helpers when typing code. Unlike Visual Studio, however, ReSharper implements three different varieties of code completion that plugin developers need to be aware of. These are:

  • Symbol completion, which is the closest analogy to IntelliSense in terms of operation. This is essentially the mechanism that completes the names of symbol identifiers as they are being typed into the editor. Symbol completion is typically invoked with the Ctrl+Space shortcut.

  • Smart completion is a code completion mechanism which attempts to narrow down the list of suggested items given the particular context. For example, when calling a method that takes a string, pressing Ctrl+Alt+Space while entering the parameter to the method will present the list of all string typed identifiers available at the current scope.

  • Import symbol completion is a means of completion that is used to complete identifier names even if such identifiers have not been imported with a using statement. Import symbol completion is invoked with Shift+Alt+Space and lets the user quickly add both the identifier name and a using statement.

Let’s begin our overview of these mechanisms by looking at the root interface of code completion, ICodeCompletionItemsProvider.