Total Pageviews

Thursday, August 24, 2006

Frustrating refactoring options in .NET IDEs

I am currently in process of learning C#. I will not discuss here the pros and cons of C# compared to Java. I am mostly a Java programmer but it's always good to see what else is going on in the programming world ;-)
Well, after learning the core language features (keywords, differences to Java, etc...) I started my first C# program. And yes, it was this little HelloWorld example ...
Nothing really fancy and pretty straight forward. What really catches my eye was the complete abscence of any refactoring support in Visual Studio .Net
Digging a little bit further I discovered an IDE called ShardDevelop which claims to have refactoring support. The only refactoring operation it does provide is "Renaming" a class, method or variable.
There is another IDE called MonoDevelop which was started by the Mono Project. AFAIK it only runs under Linux and Mac OS X and I haven't found any documentation about refactoring support.
Almost desperate I tried MS Visual Studio 2005 and et voila, this IDE does provide at least more than one refactor command. Here is a list of available refactoring options:
  • Extract Method
  • Encapsulate Field
  • Extract Interface
  • Reorder Parameters
  • Remove Parameters
  • Rename
  • Promote local Variable to Parameter

Of course this is nothing compared to the rich refactoring support of IDEs like Intellij IDEA or Eclipse, but it is a starting point.
Now I have to find out, what the heck is the difference between Visual Studio .NET and Visual Studio 2005...
Ah, I found the solution: Visual Studio 2005 is the successor of Visual Studio .NET.