Welcome to Professional ASP.NET - Chris Love's Official Blog Sign in | Join | Help

Chris Love's Official ASP.NET Blog

Chris Love's Helpful tips, tricks and pragmatic development knowledge for the ASP.NET world.
Add to Technorati Favorites


ASP Insider
Visual Studio Next Wish List

As a .NET developer I live in Visual Studio as my primary tool. I think it is a fantastic environment, but with anything you live with there are many things I want to see in the next version. So I thought I would start logging them by category.

Visual Studio

Add Filtering to Member Intellisense - I really like the Intellisense window that pops up with all the members of a class when you are working in code. What I do not like is that there are not tabs or some other mechanism to let you filter by member type. There is a Common and All tabs, but what I would really like to see are three more tabs, Methods, Properties and Events.

I really noticed this when I was learning event declarations in C# because I found myself not necessarily remembering the event name I wanted to hook into. I was forced to scan up and down the entire list of members and mentally filter out everything without a lightening bolt to the left to determine what the best event to hook into would be.

Add Intellisense to Generic Handlers – As you can guess I really like to use custom httpHandlers. Writing code for them is fairly straight forward, but I like to write custom classes and use the Generic Handler depending on the situation. I have found you do not get any Intelisense love when working in a Generic Handler. This would be a fantastic feature.

I am horrible with name, whether it be people or classes and their members. I only have so much mental capacity and I do live on Visual Studio helping me not have to reference documentation all the time, especially when I am just starting to use a class for the first time in months. More Intelisense is all I ask.

Expandable Add References Dialog – There is so much to be said about this dialog, but I need to be able to expand the tiny window that list the assemblies. Many of their names are long and there could be a long list of similar names.

Better Experience with the Add References Dialog – This dialog often takes forever to build a list of components. When it comes to the the COM tab, just do it on the way home and hope it is done when you get in tomorrow morning. Better yet, Friday afternoon to Monday. It is a list of items that should be ready, please fix this one!

More Control Over New Item Dialog – How confusing is this dialog when you have any third party components or SDKs installed? Please give us the ability to better organize this experience.

Refactoring of Inline CSS – I think it would be nice to be able to say right-click a style of a control or element and move it to a stylesheet for the Web Site. A simple automation of a common task. 

Visual Studio Theming – I know I can import and export settings, I am working in a dark theme right now for my day to day development. Which is what inspired this request. First I noticed the battery life of my laptop seemed to increase once I started using this theme. I think because the monitor uses much less energy to light up pixels.

But something I recently noticed on a cross country flight was how the bright frame of Visual Studio really stood out to me on that dark red eye flight. It was an annoying glare to me. It seems that with the theming built into WPF, this should be a great new feature that we can have in the next version of Visual Studio.

Visual Basic

OK, I am biased here. The VB experience in Visual Studio has always seemed to be a few steps ahead of C# because of market driven demands. It seems that many of my C# friends say they do not want the productivity enhancements of VB in Visual Studio, then go buy Resharper and CodeRush to get those enhancements, you do the logic.

C#

Make Event Handler Creation Easy: OK, so this does have a snippet to help, but it is not intuitive, especially compared to the way it can be done in VB.NET. Type this (or a control’s name) . then sorting through a long list of members trying to find the right event, then += TAB TAB is just not intuitive. Please add the 4 mouse click method from VB.NET to C#.

True Background Compiling: I think this was somewhat added in SP1 this summer, but after spending some time in C# this summer I find myself constantly recompiling my code to make syntactical errors go away. I realize that many C family die-hards think this is a horrible feature, but let them turn it off if they want.

XML Literal – I realize this is not so much of a Visual Studio thing as a language specification, but seriously this needs to be part of the C# experience.

More Snippets – I think VB.NET comes with like 400+ snippets. C# is around 40, maybe. Again make writing the language not get in the way of building solutions to customer problems.

Error Management

Allow Filtering of Errors: Often I will encounter a situation where my page markup has gone awry and I want to just go to the error. But the markup has made control declarations to not be valid, which leads to a long list of errors in the code behind. Scrolling through the long list of errors in the code-behind only makes the process harder. If I am in the markup, let me filter just for that page. The same can be said for a code file as well.

Easier Implementation of Interface Members -  This is a feature I love while developing VB.NET. Once you declare the class implements an interface, just hit RETURN after the Interface(s) name and BAM!! All the signature methods are created for you. I realize you can right-click and select the XXXX context menu selection to get the members implements, but I have to tell you it is so much easier in VB.NET.

WPF

Better WPF Design Experience – I have to wonder why we actually need Blend for Designing WPF layouts. Why can’t we have a richer designing experience in the development environment?

JavaScript

Better Intelisense – Well I think this is self explanatory, but not an easy feat.

Keep Improving the Config File Intellisense – I know they have done a good job with this, but there still seems to be some fringe cases where things fall apart.

Summary

Ultimately parity will be the ultimate goal with the new release of Visual Studio, which means the differences between the two core languages will be even less important going forward. I know with the complete rewrite that many nagging issues will ultimately be handled and we will no doubt have a whole new list to complain about. That is the life cycle of any application. Please feel free to add your suggestions or extend the thoughts I banged out.

Posted: Thursday, August 28, 2008 11:56 AM

by Chris Love

Comments

DotNetKicks.com said:

You've been kicked (a good thing) - Trackback from DotNetKicks.com

# August 28, 2008 12:02 PM

Alvin Ashcraft said:

I dub thee Chris 'TAB TAB' Love... ...but seriously... This is a very good list of requests. Some of your C# requests are not things I would use, so as long as I can turn them off, they are fine with me. My Top 5 Requests ----------------- 1. More Refactorings 2. More C# Snippets 3. UI skinning/themes 4. Better WPF (and Silverlight) design support. A 'Xaml Designer' profile for devenv would be nice too. 5. Better interop with 3rd party unit test frameworks (can you say Gallio?)
# August 28, 2008 12:26 PM

wekempf said:

Expandable Add Reference Dialog: Already there. The window is resizable using the normal methods. Event handler creation: This IS easy. There's two tabs for a reason. After the first tab, you have an opportunity to rename the handler. The whole process here is about as simple as you can make it. There's NO WAY a "4 mouse click" operation could be considered easier or better. You're WRITING code... why in the world would you want to reach for a mouse? Background compiling: Exists with SP1, and seems to behave pretty much identically to VB. Snippets: Which ones do you think are missing? What's wrong with adding your own? I'll only give you half a point on this one, mostly because you don't specify what you think is missing and because adding new ones is so easy that I don't care that much if canned ones come "in the box". Filtering of errors: VS will have a Document Map Margin (http://blogs.msdn.com/charlie/archive/2008/08/15/future-focus-document-map-margin.aspx) that should help you here, though with a very different feature. I'm not sure how else filtering could help, so I don't know if this would still be a useful request or not. Easier implementation of interfaces: Learn to use your keyboard, man! With the cursor on the interface you simply need to press Ctrl + . to open the menu. My fingers are trained to do Ctrl + . / Enter, making this about as easy as you could want. I'm not sure what else you'd want here. Better intellisense: No, it's not self explanatory. Better in what way?
# August 28, 2008 1:08 PM

Ryan said:

Thanks for putting the list together -- Mainly a C# developer so a couple of the C# things you mention would be nice. Additionally, I would really like to have the ability to do column editing like you can in UltraEdit. I don't find myself needing to do it very often but when I do it's an annoyance.
# August 28, 2008 1:25 PM

PHenry said:

re WPF Design Experience I couldn't agree more! I was so mad, I'm adding to your voice to MS! http://www.pchenry.com/Default.aspx?TabId=36&EntryID=23
# August 28, 2008 2:06 PM

Gustavo Ayres said:

I would like intellisense to work similar to Eclipse intellisense. It always shows all Classes that your project is referencing. Once you start to write something it filters the list by the letters you already typed. For example, if you type "Htt" it only shows stuff started by "Htt". Also, if you select some class which the namespace is not declared as "using" yet, it writes the using statement for you. For exemple, if you choose "Stream" from intellisense, it writes the "using System.IO;" on the top of the page.
# August 28, 2008 3:45 PM

Chris Love said:

wekempf, duh, why did I not see the dialog was expandable? That was a clear oversight on my part. I think I had a conversation with someone offline a few weeks ago about that. The other points will be taken into consideration, thnx.

# August 28, 2008 4:36 PM

Visual Studio Hacks said:

My latest in a series of the weekly, or more often, summary of interesting links I come across related to Visual Studio. Busy week this week so this is a quick all at once version. Greg Duncan posted a link to release announcement for XamlPadX 4.0 . Sasha

# August 31, 2008 1:11 PM

Leigh said:

Chris - Have you ever tried VisualAssist from www.wholetomato.com? If not DO IT! ;-) The intellisense filtering is so far ahead of what VB9 gives you with it's lame filtering. VA does partial matches and reductions. Very cool. The only bad thing is that VB's built in filtering (which I don't care for) interferes with VA's superior method. To see it really work, you need to use it with VB2005 or VS2008/C#.
# September 13, 2008 4:30 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS