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.