Andrew Stopford's Weblog

poobah

Sponsors

News

Articles

Family

Old Blogs

If only my IDE could do......this

I first asked what you most like in your IDE (thanks for your comments, keep them coming), one thing I was after were your thoughts on the following.

  • Code windows in tabs, if your working with a lot of files you end up with a lot of tabs, could that be better?
  • Styling the IDE, you can theme the code window but nothing else in VS, could that be better?
  • Windows, too many of them, could they be combined? do you find the interface too busy?
  • Speed, hear it a lot but do you find VS is attempting to do too much and slowing you down, would you rather VS be lighter on her feet and you add what you want as you need it?
  • VS10 will get a new WPF code editor, do you welcome those changes and do you think such things as zooming and aliasing will be useful? would you want to see more?

Your thoughts as ever are welcome.

Comments

jonathan said:

how about multi monitor support - sure we can undock windows and drag them out, but its clunky and breaks if you need to do anything with the resolution, or if you remote desktop into the machine. I have three monitors, but I can only use visual studio on one. I can use ultra mon to stretch it accross several monitors, but thats hardly ideal either.

# December 3, 2008 9:59 AM

arco said:

About VS10 - it would be really great if WPF text rendering was done waaay better than it is now. Otherwise, it's gonna be really annoying to read the code. The problem as we all probably know is not in clear-type, but in absence of native windows clear-type in WPF text rendering.

# December 3, 2008 10:16 AM

ScottB said:

1) Until someone comes up with a better UI than tabs I think we just have to suck it up. At least we *have* tabs now.

2) I can't imagine anything less important to me.

3) I can't even think about coding without dual monitors because I need many of those windows to be top-level.

4) The only time I truly hate Devstudio is when I'm doing a C# project and I have to use the "Add Reference" window. Gawd. Can't it work like appwiz (Add/Remove programs) in Vista and at least *appear* responsive while it's loading? Or even better... 99% of the time I'm adding my own assemblies anyway, so it should defer loading the ".NET" & "COM" tabs until I select those tabs. The "Browse" and "Recent" tabs should come up and respond immediately.

5) Don't care about WPF. I'd rather see MFC get the love it deserves: a true framework update, bringing it into compliance with our 2008 concept of convenient code.

# December 3, 2008 10:24 AM

Matt said:

Only thing I care about on that list is speed and the ability to turn off clear type in WPF - gives me a headache. If I could have an IDE that is modular to the point that I can load and unload the pieces that I need when I need them that would be brilliant. 80% of the time I'm in "glorified text editor mode" where all I want is syntax highlighting, intellisense, ReSharper, VisualSVN, and the solution explorer - when in that mode I just want a fast, lightweight editing experience where it doesn't take 30 seconds to open an ASPX page on a quad-core, 64bit machine. I'm tired of seeing devenv.exe at 500mb in memory with only a few files open and hanging repeatedly during simple text entry. I'm always on the lookout for alternatives, and of course none come close, unfortunately. Put my quest to rest, please.

# December 3, 2008 11:02 AM

Jeremy said:

Styling the IDE means nothing to me, even if it's simply because I'm afraid it'll slow it down even more.

I couldn't agree more with the Add References comment, that takes for ever.  Any of my assemblies that are framework assemblies are copied to a 'lib' folder in my solution anyway for consistency.  Let me have the browse window first, then only open the .NET windows or, god forbid, the COM window when i need it.

WPF scares me if simply from a performance aspect (see my thoughts on styling).  I don't see the advantage of spending time doing this when other parts of the IDE could be improved or stabilized instead.

One more thought, one the biggest reason I refuse to use MSTest is because of the MSTest assemblies.  I hate the fact that if I'm scrolling through projects in the SolutionExplorer and i happen to click an MSTest project my entire IDE locks up for several seconds so it can show the stupid unit test toolbar.

Stop trying to make the IDE think for the user.  Developers are power users, they're not standard users.  Trust the developer to open things or load things as they need them, stop trying to do everything for them (add refs, unit testing)..it just gets in their way.

# December 3, 2008 11:11 AM

Pascal said:

Oh would I love multi-monitor support.

# December 3, 2008 11:28 AM

radekg said:

I would love to see following things in VS:

- something similar to Eclipse perspectives, different toolbars, tool windows setup depending on current task, for example I like to have Immediate window on my second monitor, fullscreen but only when debugger is running

- more than one monitor support, let me undock tool windows, place them on any monitor, remember its positions and perspectives

- let me view two (or more) documents in split view (documents next to each other or below/above other documents), similar how Eclipse is doing it

- open more than one solution at the time, give me some way of switching between them

# December 3, 2008 11:30 AM

Roland said:

WPF editor: I've been waiting for something like this for years. I really like what I saw at PDC, e.g. being able to show (XML doc) comments completely different than code etc.

Being able to use multiple fonts for different language elements inside the source editor right out of the box is important for me - I don't want to have to write extensibility code for that.

Zooming also could be great - maybe something like

holding a hotkey to zoom out to show a source file in 50% size, then doing some scrolling using the mouse wheel, then releasing the hotkey to zoom back in to 100% size. That would be really useful in some cases.

# December 3, 2008 12:49 PM

slawek said:

It will be great if VS display error/warning icon in tabs/solution explorer if in the file is error (like Eclipse)

# December 3, 2008 3:44 PM

Peter said:

In the Solution Explorer I would like the ability to sort by type and then by name. This way all the ASPX files would be grouped together, CS files the same, etc.

# December 3, 2008 4:21 PM

OJ said:

TFS integration is DIRE. That needs a great deal of work in my view. The offline experience while TFS is enabled in your VS install is just awful.

Native support for other editors (such as VIM or EMACS).

# December 3, 2008 6:23 PM

Adam J Wolf said:

First off, thanks for asking!

I normally code in full screen mode with no toolbars or extra windows, which allows more screen space for code windows. I also use the “reuse current document windows, if saved” option. Too say my IDE is sparse would be an understatement. Utilizing the numerous windows shortcuts and add-on tools like DevExpress CodeRush / RefactorPro almost everything is within fingers reach.

Wish list:

Make tool and debug windows an opt-in choice through the add-in menu.

Multi monitor support with full screen option would be very nice.

Would really love an apply button on the options menu.

# December 3, 2008 8:18 PM

Hitesh said:

I would like to see the following...

- C# Project level option to set C# source code is case-sensitive / in-sensitive.

- more code formatting guidlines like Structural highlighting lines which shows how code flow lines up.

- Highlight source code with different colors

- option to set editor background wallpaper

# December 4, 2008 6:05 AM

mmeisinger said:

great topic

i will be adding my 2 cents to the other post but here are my thoughts on what you have asked

sorry for the long post but... if i have a chance to be heard on this topic... i am taking advantage to do so :)

tabs are great... sometimes. the ctl-tab works great but it would be nice if we could make it "sticky" while i select the documents i want in the fore-front. hope that makes sense

i like being able to set my editors to have a dark theme... having a blazing white background for my solution explorer... not so much. more customization would be welcomed

windows are windows... i think this is a low priority

speed... ahhh... now we are talking. the only times i see speed issues is when i jump into an ui file or add a reference. other things like server explorer, refactoring, and definition look-ups are understandably slower.

i could also make a case that vs should handle large solutions better but that is unreasonable

i welcome the new wpf editor. add all the bells and whistles you can to that thing and allow me to toggle what i want or edit the xaml

thanks for listening

# December 4, 2008 12:24 PM

J.P. Hamilton said:

For VS how about a post called "If only my IDE wouldn't do this"?

# December 4, 2008 12:49 PM

George Bell said:

Automatic background compiling so that when you press F5 the application just runs...everytime code changes you could restart the compile process in a background thread (or 3), even if it wasn't done it would take less time...

Better responsiveness on XAML views (ie escape actually works).

Tab selection via the scroll wheel (ie. hold down ctrl+alt and scroll to change to the next or previous tab), ctrl+shift and scroll to go to the next file in the solution view

How about making add reference be required less by adding a right click option that allows you to "add reference" and then searches for the item that was right clicked in all available dll's in the gac? It wouldn't be perfect as there are dll's not in the gac that you need to add sometimes as well as COM, but you could have a way to index all dll's and pull out their interfaces for this feature. If there are options it would work like the Add Usings right click feature that currently exists.

I feel like a lot of energy is being spent on "rearranging tabs/windows" when I start an application, and often the UI behaves wierdly just before an application begins, it would be nice to have it change quickly as well as smoothly (animation etc perhaps)

"Always on top" windows with realtime information for watches and stack traces...it would be great if this could be done in such a way that it is possible to slow down the application and see the stack trace in "slow motion" ie. each method call takes 0.1 second. But the application can remain responsive and in focus. Perhaps some shortcut keys to engage this mechanism, this would be especially helpful for debugging graphics and quick running items.

Debug a process - Click on the window to add a process to be debugged, rather than choosing it from a list etc. If a window has multiple processes (IE, etc.) it lists the possible processes the window has and then you choose based on that list rather than an entire window list.

# December 5, 2008 4:47 PM

Sameera Perera said:

Features I'd love:

- Firefox/Opera like Undo Close Tab feature. You close a tab in VS now, you have to go find the source file in Solution Explorer. I want to hit Ctl+Shift+T reopen the closed tab. (Ok, now somebody will tell me that there's already a key combination to do this :)

- Spell checker for comments. Even cooler if it can detect spelling errors in method, variable names written in camel case.

# December 6, 2008 10:24 AM

Ryan Ternier said:

-Multi Monitor support

---use Tab's like Google Chrome - where tabs can be dragged off to create a new window to put on another screen.

---For VS to remember what monitor the debug windows are on. I usually keep my watch window on it's own monitor while I am debugging. It is annoying whenever I start debuggging again and it's in a weird spot (but then again MS has never had good Multi-Monitor support, it always breaks).

-Ability to sort files in Solution Expoler

-in a solution of 100+ projects, it takes sometimes 2 minutes to load the right-click context menu.

-Ability to show the last values in the watch window when debugging has stopped. Many times I have operations and method calls in there and in the immidieate that are gone when debugging stops. Even if they exist as plain text - it would be nice.

-Better Service Debugging

-Better javaScript Debugging

# December 8, 2008 1:50 PM

Randolpho said:

"* Code windows in tabs, if your working with a lot of files you end up with a lot of tabs, could that be better?"

Maybe, but not *much* better, unless there's some innovative paradigm hitherto unforeseen.

I much prefer tabs to MDI, frankly, and I think I'm in the majority opinion there. That said, tabs could be a little better if you could take one tab and drag it out to create a new window. This would be especially useful for (and I may be beating a dead horse here, but: ) multi-monitor support.

"* Styling the IDE, you can theme the code window but nothing else in VS, could that be better?"

I wouldn't mind being able to style the GUI, but that's a low priority for me. If you *do* mess around with system-wide styling, I suggest you create a theme based system, whereby folks could quickly switch between different saved styles. Saving these to file and allowing for "theme packs" would also be a nice feature. But again, that's more of a nice to have than a necessary feature, IMO.

"* Windows, too many of them, could they be combined? do you find the interface too busy?"

IMO, the interface is only ever too busy when I am confined to a single monitor. If I could drag a tab out into a separate window, I could then organize my docked tool windows in two separate monitors without having to do any sort of funky stretch-across-two-monitors window alignment.

I know, I keep mentioning it, but it's important: MULTI MONITOR SUPPORT!!! It'd be easy enough if you just let us drag tabs to a new window.

"* Speed, hear it a lot but do you find VS is attempting to do too much and slowing you down, would you rather VS be lighter on her feet and you add what you want as you need it?"

Most of the issues I run into regarding speed have to do with the way the various tool windows or designers are coded. They're almost always single-threaded running on the GUI thread, which means if I, for example, accidentally hover over a collapsed Toolbox tab on my way to the Solution Explorer, I have to deal with a significant pause while the Toolbox decides what to show me when it expands.

The same issue applies to the designers. Very frequently switching tabs or granting focus to the designer results in a relatively heavy task running on the GUI thread, and I'm unable to switch back or anywhere else while it's thinking.

So if you could have all the tool / designer teams spruce up their GUIs and not do long-running tasks on the GUI thread, that'd be super-swell. Of course, it's possible that the problem is in the underlying event model. I'm not a big VS shell developer, so I'm not up on the shell event model, but it's quite possible that the problem is that the shell itself fires its events on the GUI thread rather than asynchronously.

Either way, it's worth looking into.

"* VS10 will get a new WPF code editor, do you welcome those changes and do you think such things as zooming and aliasing will be useful? would you want to see more?"

I know a couple people have complained about the aliasing, but I'm neutral there. Zooming I think might be helpful, as there are times when I like to have a "birds-eye" view of the code. It would also be especially useful for code-based presentations, i.e. to the local NUG or during a code review.

# December 8, 2008 2:34 PM

Essam said:

* Better intellisense and debugging JavaScript

* Do something to increase the responsiveness (especially the IDE) - agree with Randolpho's post above.

* Also the same thing about the responsiveness when one try to add reference.

* If my code contains error (underlined) and I fixed it, it takes the IDE long time to remove the underline.

* I'd like to see IDE highlights the variable, function, class, etc. wherever used when I select them (similar to Eclipse Java Editor, or even NotePad++! kind of)

# January 2, 2009 3:40 AM

... said:

Sehr wertvolle Informationen! Empfehlen!

# March 12, 2009 5:31 PM