I'm doing some research, what do you want the most from your IDE, what features do you most desire, what do hate the most, what features do you envy the most in other (say Java) IDEs? Let me know your thoughts.
If only my IDE (VS.NET) could save my custom window layouts. That way, I would not face window re-org micro-tedium every time I switched between single and dual-monitos on VMWare workstation (I spread my VS.NET windows across both monitors).
Pingback from Dew Drop - December 2, 2008 | Alvin Ashcraft's Morning Dew
If only it could list all implementors of an interface, or abstract or overridable member.
If only my IDE (VS2008) could allow me to continuously type and not freeze every time (every 10-30s or so) it needs to do some background parsing or god knows what (aspx editing). If I could only have the ability to wire up events (with cs stubs) from aspx to cs without switching to design view (which breaks a lot with "fancy" code that runs perfectly fine at runtime). And, if only my IDE could somehow check my aspx for compilation errors the same way it checks cs files, ooo, if only...
P.S. In VS10 you guys better figure out a way to disable clear-type / anti-aliasing in the editor or you'll see a wrath of angry programmers that will make Vista's bad rep small by comparison.
One big thing I'd like in Visual Studio is *true* multi-monitor support.
This could be accomplished with some simple changes. At least on the surface -- I have no idea how difficult it would be to implement. Although simple, the changes would allow for some interesting things when you have multiple monitors. Here they are:
1) Make the dockable tool windows in the IDE first-class windows in the operating system when they're un-docked. I.e. if they were derived from System.Windows.Forms.Form (I have no idea if they actually are), their FormBorderStyle would be Sizable rather than SizableToolWindow when they were un-docked. This would allow maximization of the tool window in either/any monitor rather than require the user to size the window manually
2) Allow all items in the tabbed documents bar (including code documents and designers) to be dockable tool windows with a full set of toolbars.
When I want to have more than one document visible at any time, I have to go into split mode by creating a horizontal or vertical tab group. If I want those documents on separate monitors (perhaps I want the designer on the left with the toolbox and properties windows docked near it, with the code-behind on the right with the System Explorer docked near it) I have to de-maximize the main IDE window, manually expand it across both monitors, create a vertical tab group, then monkey around with the location of the split until it's almost (but not quite) right at the border between monitors. If I go into debug mode new docked tool windows are added, which means I have to manually resize to the way I want (and it's never exactly the same as the way it was when I was coding), then deal with the switch when debugging is done. It's a pain.
But, by making tool windows first-class windows and allowing code and designer tabbed documents to be tool windows (which are also now first-class windows) I can utilize the maximize feature on separate monitors, allowing me to have a more consistent development environment.
It's amazing how useful that maximize feature is.
What I use a lot in Eclipse that I was missing in VS.NET (2002 to 2005, don't know for 2008):
- Ctrl+Click on a class/method/field to jump to its definition
- search where a class/method/field is referenced/called
- show the inheritance hierarchy *rooted* at the current class (i.e. show interface implementors and/or derived classes); in Eclipse, this is as easy as pressing F4 when the caret/cursor is in a class/method name. The hierarchy tree then shows the methods defined for a class when you select it, with the method override (in case you launched it from a method) selected (so you just have to double-click on it to jump to it; without first looking for it by its name)
I also love refactoring tools, but VS.NET 2008 seems to have pretty good ones (maybe even better than Eclipse)
I hate the way Intellisense currently works. To take the most recent example, the other day I was trying to figure out how to use the ReportViewer control in VS2008. And I was trying to figure out how to set the DataSource correctly. But when I typed the ".", Intellisense innundated me with far too much irrelevant data. In this case, I don't *care* about the fact that it derives from Control, as thus has a Left property, and a Right property, and a Click event, and so on, and so on, ad nauseam. I wanted just the properties of *that* class, without the base classes cluttering up things. That way I wouldn't have to sift through the inheritance detritus obscuring what I was trying to find.
So what I'd like is a drill-down capability in Intellisense. (Or maybe, as an option, show just the properties, etc of the current object, with a drill-up capability.)
And since this is a wish list, keep track of (and, of course, display) the current level of the inheritance hierarchy I'm interested in, on a control-by-control basis. And persist this as part of the project settings.
Well, wish me luck. I've given this feedback before, and it's been ignored every time. Maybe this time...
@Andy
If you are using VS, ReSharper will do that and more.
It should not crash. It should be fast.
A easy way to close all open files.
Integrated GhostDoc like tools and sandcaste / CodeDoc like help file generation.
Explorer-like folder project -- I just want a folder full of random folders and files (text documents, word documents, etc.) accessible from within a solution (in a separate project). I don't want to have to refresh the folders and include the files myself. On that note, it would be nice (but definitely not necessary) if it could use IFilters for searching those projects and ideally open the documents within the IDE like Outlook does when you view an attachment.
Also, it would be nice to have remote desktop connections open within the IDE (with rdp connection files in the solution somewhere).
If only i could bind commands to mouse button (with ctrl/alt/shift).
ok... here we go...
dump the navigational and hierarchy drop-downs at the top of the editor windows and utilize the class view more. let the class view know what class i am working on and allow me to determine when it should be loaded or not.
the code definition window is too touchy. as soon as i click on a single word the code definition window loads that class in (even if it's the same class i am working on). i love the concept behind the code definition window but is there any way to be a little smarter about it?
give me a "dumpster" meaning give me something like the tokenizer but beefier. i should be able to add code samples, common references, blocks of code, etc... to a general or common bucket that is managed by visual studio (not solution items)
it would be great if i could incorporate the snip-its functionality to pull them in.
when i import a namespace... attempt to add a reference to that dll for me. if you don't know that namespace or it isn't a common namespace... ask me where to find it. that should shave time off of the add references.
speaking of adding references... when i right click to add a reference... produce a list of the current projects in my solution to select from. in other words... get a little better about adding references. it seems to take for ever.
i love the way eclipse has perspectives... vs has attempted to do the same but there is just something off. it seems like it is not as robust.
give me a little more refactoring tools. the only one that stands out for me right now are generating a file from the selected (or highlighted) class and updating an interface from the class. i don't want the resharper functionality because i think they are doing a great job and it shouldn't be duplicated by the vs team but give me a little more functionality
more to come as i think of them... :)
thanks for listening
Real snippet functionality.
1) Expose the ability to write our own Functions to be used in snippets. I want things like MethodName() that would find the enclosing method and place its name into the snippet.
2) Check out Eclipse's way it allows one to search for an option throughout the option dialog. Instead of having to remember Project and Solutions - General - Track Active Item in Solution Explorer you can just start typing it is searches for matching options.
I wish they would integrate sql management studio in VS. Instead of only doing 1/4 of the things you can do in ssms, do it all in vs.