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).
- Smart Completion (Ctrl+Shift+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 type "DRFB" instead of "DecoderReplacementFallbackBuffer". For more information, see CamelHumps.
- When you declare a field, method parameter, or local variable, ReSharper suggests a list of possible names to choose from taking into account your defined naming rules. For more information, see Naming Style.
- 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). For more information, see Import Symbol Completion.
- Completion list can be filtered according to type expected at a specific position. For more information, see Smart Completion.
- Creating regular and anonymous methods, as well as local variables, is suggested if applicable. For more information, see Smart Completion.