Three Code Completion features in ReSharper help you write code faster and more accurately using drop-down lists to guess what you expect to type next, based on surrounding context or initial symbols that you have entered.
Find out what ReSharper's Code Completion has to offer by glancing through the list below, or familiarize yourself with each of three completion features:
Symbol Completion(previously known as Basic Completion) (Ctrl+Space).
Import Symbol Completion(previously known as Type Name Completion) (Ctrl+Alt+Space).
Code Completion features extend and improve Visual Studio's native IntelliSense, and here's how:
- Immediate members of a type are emphasized, as opposed to inherited members.
- All overloads for a member are displayed in a signature popup and you can scroll between them.
- Where applicable, Code Completion suggests indexer along with type members, and corrects expression syntax accordingly if it's selected.
- Custom icons for parameters and local variables are provided to distinguish them from fields.
- As you start typing, completion list is narrowed down to match the specified prefix.
- When you use Code Completion over existing code items, you can either simply insert completion items or substitute existing identifiers with them.
- In ReSharper 4.0 and later, all three completion features support CamelHumps - for example, you can complete a long type
name by entering only its uppercase characters: can you say "DecoderReplacementFallbackBuffer"? forget it - just type DRFB
instead (for details, see
- When you declare a field, method parameter, or local variable, ReSharper can suggest a list of possible names to choose from,
taking into account your defined naming rules (see
- You can choose to make the completion list include all types that match a specified prefix - regardless of whether a corresponding
namespace was imported or not (in the latter case, the required using directive is automatically inserted after you select
a type) (see
Import Symbol Completion).
- Completion list can be filtered according to type expected at a specific position (see
- Creating regular and anonymous methods, as well as local variables, is suggested if applicable (see