Double basic completion
Using Double Basic Completion you can achieve two goals:
- get completion list that contains all private and internal members of base classes
- get completion list that contains all protected, private and internal members for the current symbol
Now completion list contains several private fields of the context variable. Recently added items are marked with green vertical lines, so you can easily discover new items.
ReSharper also counts how many times you invoke completion features and determines their kinds, so you get the information about the depth of completion. Look at the bottom of the completion list.
Double import completion
Using Import Completion you can insert any type that belongs to referenced assembly or project. But what if the appropriate module is not referenced yet? To bypass such restriction, use double import completion.
To invoke the completion, press Ctrl+Space or Alt+RightCtrl+Space or Alt+Right or Ctrl+Alt+SpaceShift+Alt+Space when the completion list is opened. Modules to be referenced are displayed in red.
By default, the confirmation dialog box is displayed before a reference is added. You can clear the Show confirmation dialog before adding reference check box in the Options dialog box to add references in dialogless mode.
This functionality is available not only for types, but for extension methods as well.
Double smart completion
Using Double Smart Completion you can complete not only symbols that have the same data type, but you can extend completion list with call chains that have return values of the same data type.
Press Ctrl+Shift+SpaceCtrl+Alt+Space multiple times to extend the list with call chains. The more times you press, the longer call chains become.
ReSharper takes into account only instance methods and their return values.
Using Cast Completion you can cast a variable to some certain type and access one of its members. To invoke this completion, press Ctrl+Space or Alt+RightCtrl+Space or Alt+Right when the completion list is opened.
Using Sender Completion you can cast the sender argument in an event handler to desired control type and access its members. To invoke this completion, press Ctrl+Space or Alt+RightCtrl+Space or Alt+Right when the completion list is opened.