My Visual Studio vNext wish list

My wish list for Visual Studio vNext isn’t that long. The things I would like to see in Visual Studio vNext (I’m not that hopeful) are the following:

  • A filtering intellisense members list box
  • Some intelligent suggestions
  • More refactoring options

Unfortunately I am going to do the unmentionable and compare VS to Eclipse.

A filtering intellisense members list box

As the number of classes in the BCL grows, and with newer technologies arriving all the time I don’t think there has ever been a better time to implement this feature. Eclipse does a good job of it and is incredibly handy:

eclipse_make_that_list_smaller_1

eclipse_make_that_list_smaller_2

There are some products out there that you can actually install to do this, they include:

Some intelligent suggestions

This is a lame example, but its a pretty common one. Today in VS suggestions for the most part are non-existent. I know that in VS 2008 SP1 background compilation for C# is here (warnings, errors) but it still doesn’t give you what Eclipse does with respect to suggestions.

eclipse_unused_imports

I know that there are probably a tonne of people reading this now shouting “You can remove unused using directives now!” True, but its never emphasised to you by the IDE. Again I find myself uttering the word Resharper for this stuff, but should we really have to buy into a 3rd party product for something like this? We could also extend this to something like variables that are never referenced.

eclipse_unused_vars

More refactoring options

Eclipse offers an absolute tonne of refactoring options which are integrated really great into the IDE.

eclipse_refactor_menu

While I don’t have any major gripes about what is offered in VS 2008 with respect to refactoring, I do think it lacks somewhat. Some of the refactoring options in VS could do with a more streamlined approach as well. A great example of this is the rename option. Invoking rename will open a big goofy dialogue box which would be appropriate if you were renaming a field or something – in place renaming would be much more appropriate for local renaming’s though.

eclipse_in_place_renaming

Final thoughts

I really like VS and all that it gives you but I can’t help feel that we are losing out on some of this stuff. I’m sure that the VS team are incredibly busy building new designers, but if anyone on the VS team happen’s to stumble across this post then please give these features consideration.

Purposely I have not mentioned C++, they have enough trouble getting intellisense working as it is. If you are interested in this though then check out Intellisense History, Part 1 and Intellisense, Part 2 (The Future). Both blog posts are from the VC++ blog. Visual Assist X is a nice tool though if you want a more rounded experience in VC++ land right now.

4 thoughts on “My Visual Studio vNext wish list”

  1. I’d like to add another thing… for asp.net developers it would be nice to have a more robust FTP built in. The one in the current version leaves alot to be desired. For instance, half the time when I try to just select a whole folder and upload it, it will create the folder on the remote site and then not upload any of the files inside of it. As it stands now, I end up using a second program to handle FTP.

  2. @Jeff – totally agree. In fact I think I used the FTP in VS2005 a few times and came across the same problem so I swiftly moved to a 3rd party FTP app.

    To be fair to the web guys the new stuff in VS2008 is leeps and bounds better than the VS2005 equivalents. I know this is largely down to Expression Web being thrown in there, buthte JavaScript intellisense is a plus as well. I *think* in VS2008 SP1 there are some further enhancements to the JS intellisense but off the top of my head I can’t remember.

  3. I saw a video actually on Google videos on YouTube the other day on the Eclipse collab stuff. Not made up my mind on the real-time collab stuff while you code, but I think it would be very useful for code reviews, etc.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>