Apr
19
2011

Replacing Visual Studio 2010 with SharpDevelop 4.1

I use Visual Studio 2010 on a daily basis, and I must say that the overall experience is far from good:

  • The find dialog has some really weird and annoying resizing issues.
  • Sometimes find text simply stops working, never returning any result. Even worst, sometimes it starts returning only the first hit on each file, which of course you only notice the next day because of the bug you introduced in the code base because of that.
  • It has the habit of recompiling more projects than it really needs to.
  • Sometimes the simple action of clicking on a text editor to change the caret position stops working, and we can only use the keyboard for that until you restart Visual Studio.
  • It takes forever to open XAML files (even with the option to always open in full XAML view, not design mode).
  • It has some serious file cache problems when using custom MSBuild build steps that generate files for compilation. If during a build a generated file is changed while it’s opened, the result of the compilation will be as if the file hadn’t been changed. If that file is not opened, or we use the MSBuild command line, it works correctly. Just imagine going through a huge list of steps to reproduce some problem only to find out that you’re debugging outdated code. It’s a real nightmare.

So I decided to give SharpDeveloper a try, and I was pleasantly surprised:

  • It’s pretty fast and responsive, even with big solutions, as long as you turn off source control integration.
  • I can open .xaml files as fast as .cs files, and the xaml auto complete works sufficiently good.
  • It builds the big solution I use daily in half the time (literally)
  • It doesn’t have the file cache problem
  • It has an option for building modified projects only, ignoring the dependencies
  • The latest 4.1 alpha builds allow to see the metadata of referenced types like Visual Studio does.

Of course, there are also a few downsides:

  • The usability of the editor auto complete is noticeably lower than Visual Studio IntelliSense.
  • The shortcut keys aren’t customizable, which is a big no no considering that the basic ones like build and toggle breakpoint are different from the ones we’re used to from Visual Studio.
  • Custom debugger visualizers and other very useful add-ins  for Visual Studio don’t have a SharpDevelop version.
  • It doesn’t have Edit and Continue.

I had already tried SharpDevelop before in the past, but at the time it seemed to be too limited when compared to Visual Studio. I now think it’s good enough to be usable, and as it’s open source and the code base looks readable, I’m going to try to fix a few quirks to be able to completely replace Visual Studio for my daily coding needs.

The first thing I did was to create a SharpDevelop add-in with equivalent functionality to the DPack File Browser, which is one of the Visual Studio add-ins that I use the most. I got a working prototype really fast, as the SharpDevelop add-in API is much cleaner that the Visual Studio EnvDTE mess:

I posted the source code to https://github.com/ovatsus/CodeBeside.FileBrowser

blog comments powered by Disqus

About the author

  Gustavo Guerra
  London, UK

  Software Developer
  interested in Functional Programming, Machine Learning, Robotics, and User Experience Design

Archives



Recent Comments

Powered by Disqus