I’ve been fighting an uphill battle against C# and Visual Studio (VS) the last few weeks. Loosing some and winning some. Coming from the Java and Eclipse (boot)camp it’s easy to think that every piece of work is a dance on roses.
For some of you this is going to sound like a lot of whining. If so, maybe take a look at Eclipse? If you’re not familiar with Visual Studio, consider this a warning. And if you work for Microsoft; maybe it’s time to do that overhaul?
- Mylyn (Tasktop in my case) makes it easy to keep track of tasks/bugs and keeps me focused on the work ahead. VS has nothing like this.
- Strong refactoring tools help me out whenever something has gone bad or just needs to change. Admittedly the VS refactoring tools are pretty much okay, but they are not so easily accessed.
- My next edit location is just a Ctrl+Click away and various views allow me to see the code from several different angles. VS forces me to right click for a “Go to definition” command and there is very little else to show me how the type/method is in relation to others.
- Another huge annoyance in Visual Studio is it’s inability to build in the background. I really prefer continue working while waiting for the launch to finish.
- Not to mention the neatly integrated JavaDoc which is of great help when API documentation is needed. You get the picture.
And there is the small things:
- In JDT I can just type the class name or what I think it’s called and activate content assist. It will bring up all alternatives along with the documentation. Nice when I’m not quite sure where I’m going.
- Visual Studio does not show any links from stack trace to code.
- The equivalent of NullPointerExceptions often end up in the core somewhere, making what should be a trivial bug to fix a PITA.
- The JDT package explorer is in sync with the editor allowing me to see the terrain. The VS equivalent is not only confusing because it’s object oriented, it’s also not synchronized.
- In Eclipse there is keystrokes for just about any command imaginable. I cannot remember half of them. But those I can remember I use a lot.
- There is no outline view in Visual Studio. The combo box at the top of the editor pane is a lousy substitute.
- There is no Alt+Left/Right for navigating between edit locations. And how can I set boomarks in the code?
There is a lot more I did not mention. Some of my trouble is probably due to a lack of experience with the language and the tool. But I can’t help feel that C#/Visual Studio is inferior to Java/Eclipse. This is suprising considering that both the language and the IDE appears to be important to Microsoft.
Anyway, the battle is not lost yet. I’m going to call in reinforcements. An “add-on” to Visual Studio named ReSharper.
Actually you can put bookmarks in Visual Studio – Edit/Bookmarks/Toggle Bookmark, or Ctrl-K+Ctrl-K. 🙂
That’s the case in my VS 2005 Standard install anyway.
I just rechecked the edit menu and of course it was there. Dunno how I missed it the first time. Thanks macbirdie 🙂
From a java/eclipse background it has taken me a while to discover the equivalent shortcuts and functions – and Resharper is the way forward with VS, definitely.
Yes, ReSharper has really made my job easier too. Still a lot to be desired though. 🙂
In C# if you type three “/”'s or in VB three “'” above a method, class, etc. it will create XML comments and an XML doc file will be created with your build. This is essentially the equirvalent of JavaDoc and will come up in intellisense. Also, there is an open source project called SandCastle (and open source GUI's) on codeplex that will take your executable or library files along with the XML and create help files/web site documentation based off of those (also, I believe similiar to what JavaDoc does).
I'm currently working with Eclipse on a project as a everyday Visual Studio user. I'm working through the same difficulities as you in the opposite direction. Eclipse is very capable from what I see, the biggest thing it's missing that I'd like to see is better GUI editors and the ability to wire up events from those editors. Microsoft may have a lot of bad qualities, but they make creating quick form based applications a piece of cake (drop button, double click, I'm in the click event's code). I'm currently working on Android applications with Java. 🙂
Thank you for sharing your insights Coder X. There was a GUI editing project at Eclipse that was pretty good. However it lost it's sponsor and laid dormant for a while. It has recently been revitalized and it's future is looking much brighter. On the commercial side a company named Instantiations has a very good solution for Eclipse.
Over the years I've become much more pragmatic. At first I loved the Microsoft solutions, then as I became more experienced it kind of turned the other way. One thing I still admire about the company is it's ability to admit to being wrong when it is. They also have some very hard working, great engineers doing their best. That makes a difference.
I've just started looking into Android myself. I think that particular technology is going to be a fun ride. Good luck 🙂
Oh, and yes Hungarian notation does make sense.
Hi Torkild, I'm a non_pro ( but not a hobbyist'). I have taken some College classes and have a 2year degree in what they used to call Data Processing ( COBOL on punch cards ). More recently, I have been teaching myself Java and VB.Net. Java both in and out of Eclipse and VB in Microsoft's Express packages.
I have enjoyed both and learned quite a bit.
Most recently, I have been trying to do CLR Stored Procedures in Visual Web Developer Express only to find out that the Express version is lacking a SQL Server template that would make this task feasable. The problem I have is a Catch-22 where I need to load various
DLLs to support the assembly I'm trying to register with SQL Server. Can't load A before B, Can't load B before C, Can't load C before A.
Of course for about 600 or 700 USD I could get Visual Studio Pro. That is not going to happen.
So I guess I'm going back to Eclipse and I did also recently buy a book on JBoss App Server so all is not lost and I may be a pro yet.
PL
P.S.
Before I give up on Microsoft Altogether does Anybody need an Excel Dictator App cheap?
The shortcut for “Go to Definition” in Visual Studio, just press F12
If you do use XML comments I'd recommend downloading the GhostDoc plugin for VS it saves me loads of time. It creats the XML tags for the parameters and return parts of methods and even guesses at the comments so half the time if you have well named methods you won't even have to edit the output.
I'm coming from a VS background via Xcode into Eclipse. I'm finding that if I look for it Eclipse has every feature that I use in VS and I'm even finding a few things in VS after discovering them in Eclipse. Xcode seems to lag a long way behind at the moment.
Would be great to unify shortcut keys across all three IDEs…