Michael Yuan's Windows Mobile Thoughts

First impressions of ReSharper (JetBrains' C# refactoring tool)

Cross posted from my other .NET blog

I tried out JetBrains' VS.NET plugin for C# today. So far, I liked it. I think it is on the right track to bring some serious competition to Whidbey's refactoring tools. The installation was smooth. You would need a username and license key from the bottom of the download page. It just adds a "Resharper" menu item to your C# project workplace in VS.NET 2003 (I also have Appforge and XMLSpy plugins installed. Resharper only adds the highlighted menu item).

With Resharper installed, VS.NET takes some extra seconds to startup because it needs to build its own symbols from the system DDLs. Now, let's look at some of its features:

1. Refactoring

Refactoring support in this first EAP build is very primitive. It only supports variable renaming. However, as I had mentioned before, renaming is probably the most urgently needed refactoring feature in VS.NET. Currently, ReSharper does not allow you to review the changes to be made. I expect this to be fixed in future builds.

2. Find usage

An advanced editor feature that is closely related to variable renaming, is to find all usages of a certain variable across multiple files and classes in a solution. ReSharper has a very good "Find Usage" utility.

The find results can be organized in the object hierarchy structure.

Or, the results can be organized in the file system structure.

3. Code templates

ReSharper supports surrounding code blocks with structures and insertion of live templates. They work pretty much the same way as Whidbey does. I wish there is a way to add custom live templates in the future.

4. Code completion (IntelliSense replacement)

Last but not least, the ReSharper provides its own "smart" code completion utilities. To use that, we can turn off IntelliSense by check off the "Auto list members" box in Tools -> Options -> Text Editor -> C# -> General. Using the Ctrl-Space key, we can get a list of all possible code completion options as IntelliSense would normally give us:

Using the Shift-Ctrl-Space key, we can get a list of possible completion options based on the code context. That is pretty useful when you have a large number of data members, properties and methods in a class (like some of the system classes do!!)

Overall, ReSharper needs to be substantially better than Whidbey's refactoring tools in order to convince people to pay extra for it. I liked what I see so far. But it still has a long way to go.

PS. Luke Hutteman also has a good review on ReSharper.

Posted: Feb 17 2004, 12:04 PM by juntao | with 15 comment(s)
Filed under:

Comments

TrackBack said:

After downloading and installing the ReSharper VS.NET plugin earlier tonight, I have to say I'm pretty impressed with this first release. While it's still got quite a while to go to before it gets close to IDEA, JetBrains did manage to add a lot of very useful functionality to VS.NET. Here's an overview of the current functionality of this plugin:...
# February 17, 2004 2:35 PM

TrackBack said:

# February 26, 2004 1:33 PM

TrackBack said:

ReSharper
# March 8, 2004 2:20 PM

Matthew Duffield said:

Personally I find that this software should have never been offered to the general public. I would be ashamed to have anyone download this software. I downloaded and found that the features were all but impressive and now that the evaluation has expired....THE DAMN SOFTWARE will not let me into Visual Studio to perform any work. It will not let me uninstall the application from the installer since it pops up a MODAL DIALOG BOX....Now....who would buy a product that is supposed to enhance Visual Studio when it is nothing more than a menace....I have tried to contact them to help me get this off my machine but since they won't help me....I am going to see if there are any legal implications that I can consider....I use my machine for development and I am not going to just sit here and let this stupid piece of software force me to reinstall all of my GOOD software.
# March 12, 2004 9:35 PM

Sergey Mishkovskiy said:

Matthew,

I've helped a friend of mine to fix a similar reshaper problem. Under HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\7.1\AddIns delete reshaper key and VS.NET should come up just fine. Hope this helps.

Shameless plug warning. <g> I welcome everyone to check my free VS.NET '03 add-in collection currently in the latest beat stage. Thanks.
http://www.usysware.com/dpack.htm
# March 13, 2004 12:31 AM

Sergey Mishkovskiy said:

"beta" stage. Sorry about the typo.
# March 13, 2004 12:32 AM

lvermeulen said:

http://www.devexpress.com/CodeRush just released today might give resharper a run for it's money
# March 24, 2004 1:06 AM

Scott Bellware said:

C# Refactory has been around almost since the dawn of VS .NET. It doesn't add some of the bells and whistles of other code refinement tools (Surround With, etc); but it is the best refactoring tool I've used for C# and it far exceeds Whidbey's stuff.

http://www.xtreme-simplicity.net/
# March 31, 2004 1:52 AM

Michael said:

I love intellij and I am pretty sure when resharper is officially released it will be one of the best tools out there.

But currently i am having problems with shortcuts. The refactor menu doesn't have any shortcuts. For example "ctrl-n" give me a new file dialog instead of the class list. Any idea?

N
# May 4, 2004 12:09 PM

-Jens- said:

The ReSharper's current build is a good start, but I find the Intellisense to be too slow. I hope they will fix that in the release (Current build 8.3)
# May 28, 2004 8:24 AM

Donald said:

Make it open source and use an double license.
# June 24, 2004 12:30 PM

Craig said:

C# Refactory 2.0 is now out. Some new features, but a lot faster and easier to use.
# June 26, 2004 10:14 AM

TrackBack said:

# January 31, 2005 8:49 AM

akera said:

This is the tip,free software download and e-learning. You can invite at : http://sumcoding.blogspot.com/

# January 15, 2008 9:54 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)