ReSharper first impressions

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:

  • Automatic brace matching.
  • Advanced syntax highlighting. This is disabled by default. To turn it on, go to Tools|Options|ReSharper|General and check "Enable Highlighting", then go to Tools|Options|Environment|Fonts&Colors and scroll down for the "ReSharper" customizations. This allows you to use different colors for constants, arguments, methods, etc.
  • File Structure (Ctrl-F12) - I use this all the time in IDEA to quickly go to another method - it's similar to VS.NET's method-dropdown at the top-right of the editor, but has a keyboard shortcut for easy access and selects/filters as you start typing the method/field name.
  • Alt-Up/Alt-Down to go the the next/previous method. I'm sure many people will find this useful. Personally, prefer to use Ctrl-F12.
  • GoTo Type (Ctrl-N) / Goto File (Ctrl-Shift-N) - These shortcuts are extremely useful to quickly open another class/file in your project. Type Ctrl-N to get a popup-dropdown containing the classes in your project - the dropdown filters as you start typing the class name.
  • Surround With... - This allows you to select a piece of code and easily surround it with an if, while, for, do or lock construct. IDEA has this functionality too and I use it often there to surround code with a try-catch, which is then generated with specific catch-blocks for all the possible checked exceptions in the selected code. C# does not have checked exceptions though, so that option is not included here. I never really use the other surround options in IDEA so don't expect to use them here either. I much prefer adding the surrounding code by hand, especially since VS.NET auto-indents the code when I close the block (one of the few VS.NET features that I find missing in IDEA)
  • Select Word/Extend Selection - Very useful. VS.NET already had Ctrl-W bound to select-word, but the plugin improves upon this functionality by extending the selected block as you keep pressing Ctrl-W. So the first Ctrl-W will select the word, the second the (sub)expression, then a block of code, a method, the class, etc.
  • Advanced error/warning highlighting, dynamically marking things like unused variables, type mismatches in method arguments and assignments, etc. Not nearly as good as is implemented in IDEA, but much improved over what VS.NET does on its own.
  • LiveTemplates. Useful, but unfortunately only a limited amount has been supplied so far and I could not find a way to add new ones. It also did not indent the generated code correctly on my system. I'm sure these issues will be fixed in a future release of the plugin.
  • Intelligent completion. You can use this for things like variable-naming (type "SomeClassName [Ctrl-Space]" and a dropdown will appear containing the proposed variable names someClassName, className and name), intelligent dropdowns for method parameters that only include available fields of the correct type, etc.
  • Find Usages (Alt-F7) - this extremely useful shortcut will find all places in your solution where a method/field/property or variable is being used.
  • Refactorings - only "Rename" is supported so far, which was somewhat disappointing to me. I'm sure more will be added in future releases though and one is still better than none.
On the downside, I've noticed some slowdowns where the IDE sometimes hangs for a couple seconds. This kind of stuff is to be expected with an initial beta release though. As long as they don't happen too often, it's a price I can live with to get all the added functionality mentioned above.

If you're a C# developer that uses VS.NET, I highly recommend giving the ReSharper plugin a try. Get it at http://www.jetbrains.net/resharper/.

UPDATE: If a picture is worth a thousand words, Michael Yuan's ReSharper review is about 20 times better than mine - check it out for the visual tour...

UPDATE2: Through the features page, I discovered another useful IDEA feature that made it into ReSharper: Ctrl-Shift-F7 will highlight all usages of a symbol in the current file. I also just noticed that a new build was released today - hopefully it fixes the syntax highlighting bug that was causing such frequent hangups for me that I had to temporarily disable that feature.

TrackBack URL for this entry: http://www.hutteman.com/scgi-bin/mt/mt-tb.cgi/126
Comments

I'd love to try resharper but, the link http://www.jetbrains.net/resharper/ goes to a login page. That login page has the option to create a new account. Tried creating a new account and got a "Confluence System Error: You are not licensed to add any more users to this installation of Confluence".

Posted by Homer at February 14, 2004 1:16 AM

Try username/pwd eapuser/eapuser

Posted by Luke Hutteman at February 14, 2004 1:23 AM

ReSharper

Trackback from John Lyon-Smith's Blog at February 14, 2004 9:47 AM

JetBrains shows ReSharper

Trackback from Panning for Knowledge at February 16, 2004 12:57 PM

ReSharper

Trackback from Michael Swanson's Blog at February 16, 2004 1:19 PM

I was excited to see that ReSharper is out, even if its only in EAP. I have been unsuccessful of getting the auto-complete feature to drop down a list of class members when I type in something like "System." I turned off Intellisense and Auto list members and still get the "No suggestions" popup. Looks like other people have this working. Any suggestions?

Also, it says it can't resolve any symbols like System.Collections, System.Web, etc. Therefore it highlights then in red as a ReSharper Error Marker. My code compiles fine. Has anyone had this problem?

Posted by Rich at February 18, 2004 4:42 PM

It seems like ReSharper couldn't load your libraries. We've fixed several bugs in this area in build 65. Please try it.

Posted by Oleg Stepanov at February 19, 2004 3:42 AM

From what I've eperienced so far, I'd be a lot more enthusiastic about ReSharper if it


  1. wasn't so slow, and more importantly

  2. played more well with VS.NET:

    • File Structure window should be dockable

    • Insert Live Template list should allow mouse scrolling

    • Leave my existing Intellisense alone, damnit! ;-)

    • In general, it's a plugin to VS.NET - things SHOULD LOOK like VS.NET



Posted by Oskar Austegard at February 26, 2004 10:43 AM

JetBrains ReSharper

Trackback from Dan Fernandez's Blog at February 26, 2004 12:30 PM

ReSharper
ReSharper

Trackback from JosephCooney at March 8, 2004 1:20 PM

OK, I have to update my post - call it a second impression if you will:
Build 77 is still suffering from bugs galore, but it's worth it...

Posted by Oskar Austegard at April 16, 2004 7:08 PM

re: Keyboard Shortcuts Quick Reference

Trackback from VSIDE's WebLog at June 22, 2004 1:11 PM

ReSharper

Trackback from JCooney.NET at January 31, 2005 7:48 AM

ReSharper: IDEAs come to VS.Net

Trackback from Vasanth Dharmaraj's Blogs at May 10, 2005 5:56 AM
This discussion has been closed. If you wish to contact me about this post, you can do so by email.