It's cool that VS has intellisense for C# (the feature where in the middle of typing an expression, a little window pops up listing possible things to complete the expression), and that it seems to be very consistently accurate.
I've noticed that it just always seems to do the right thing. It's like it's reading my mind. Things that I've personally noticed and appreciated as a developer:
- After a "new" keyword, it defaults to the type of the object being allocated. This is very useful for generic types.
- Seems to have some very nice Most-recently-used logic for random usage in the middle of a function.
- After the "return" keyword, it default the list to the return type of the method.
- After the "override" keyword, it brings up a list of possible methods that could be overriden.
- When used while typing in the middle of a parameter list, it checks the method's prototype for likely signature matches.
- It even works in the immediate window.
Overall, it just seems to be very well integrated with a lot of different language features and to consistently do what I'd expect it to.
(I'm sure VB is great too; but since I don't really use VB, I can't comment on my personal experience as a VB developer)