One of the things that I spend an inordinate amount of time thinking about and discussing with different people is how customers complete their selections in IntelliSense.  You know the drill, you re typing away in VS and the IntelliSense list pops up. How do you complete the selection? In broad terms you could:

  1. Just keep typing (essentially ignoring IntelliSense)
  2. Hit Tab
  3. Hit Enter
  4. Hit the first ( for a method call
  5. Hit . to get to the next completion list

I always hit Tab but get annoyed because IntelliSense doesn t recognize what I m doing and add the right starting point for the next action (especially creating the opening brace for a parameter call). The one that really gets me going is when I select a method that has no parameters (e.g. ToString(), GetHashCode() etc) why doesn t IntelliSense just add the two braces for me?

I understand that there are circumstances where the braces are not required (passing the method in as a target for a delegate) but these seem like fairly rare compared to actually calling the method. Does this bother you? Perhaps it will now that I have pointed it out (sorry if this has happened).

I m really curious about this a lot of the devs that I talk to about this don t see it as a problem since they typically complete using the first brace of the call so they would have ToString highlighted and then simply hit ( as a way to confirm their completion of ToString. If you ever see me demo the product you ll notice that I have a slight pause when I type because I actually hit Tab to complete the selection and then have to enter the opening (.

I'll give $10 to the first person that yells out Why doesn t IntelliSense complete the brace for you or better yet complete both braces when the method has no parameters at a public conference when an IntelliSense dev is in the room. Then I can legitimately say customers are asking for this feature :-)