Subscribe Now: Feed Icon

Friday, January 28, 2011

To Resharper or not to Resharper

My love affair with Resharper started four years ago when my team leader hooked us up with Resharper. There are many benefits of using Resharper and I am not going to get into all of them:

  • The fact that unused variable are getting grey color is one great feature
  • The simplified template system – I have tried to use the snippet manager once back in 2005 but it was too complicated)
  • Converting loops to LINQ – I don’t know about you but I think better with loops than with LINQ
  • Inspecting issues in  the solution – getting those annoying little code review standards out of the way The fact that I haven’t written any “using” statement since starting to use Resharper. And also Code cleanup in the solution…
  • All the refactor options
  • Intellisense with add reference and with acronym – ANE + ctrl+space => ArgumentNullException

Well four years ago my team leader got the bosses to spend the money on licenses for all the team.

When I moved to another team I used that license until someone else complained that I used his license, and then started the trial version – thank God my team leader got us some licenses.

When I got to my current job I saw we had no Resharper and asked for a license – that was a mistake apparently, I had to demand one instead. So I installed the trial and when it ended after a month I tried to go through withdrawals. For the next 3 months I have tried other programs/extensions like CodeRush Express and Productivity Power tools (for ctrl+click) but it wasn't the same:

  • I had to disable the clicking because every time I tried to copy a word with ctrl+shift+C I got to the definition instead. I think I got sick of seeing the definition of a string – "hello;-("… (in Resharper ctrl+shift+click doesn't go to definition!!!)
  • I couldn't find anything that adds a reference "on the fly" by using ctrl+alt+space in Resharper
  • The copy paste of references clashed between the various Extensions, so that sometimes all I got for my troubles are Exceptions to my face.

So when I had to format my computer (the IT guy couldn't fix a problem with my screen resolution), I jumped on the chance to reinstall Resharper trial – even if it was for just a month… I even met my boss and this time demanded a Resharper license – but of course we run out of budget and the order was returned…

At the end of the month by some God of luck the EAP (Early Access Program) for Resharper 6.0 started and I jumped on the chance to work on Resharper (without having to format my computer one more time – I have learned my lesson and this time I was going to format my computer).

So I of course submitted some bugs one of them even causing me to have an email conversation with a lead QA in the Resharper team about a bug they couldn’t reproduce, unfortunately I didn’t know why the bug occurred but I experienced another bug with the references in Silverlight and wanted to know why it still exists. Then I had another bug with a few add references with the same text. Because of all those bug he even asked for our code base (signing NDAs was even mentioned).

Some bugs are funny (at least for a developer like me) like:


When changing the settings in options. I had a LOL moment seeing that one.

There are some great features in Resharper 6 like:

  • Copy of code will "ask" you if you want to copy the references as well (alt+enter after copying)
  • Not really my cup of coffee but Resharper now supports JavaScript and CSS

There were some days last month where I have spent more time trying to reproduce the Resharper bugs than coding for my project. I am feeling kinda bad about it…

That is until I got this email :

Hi, Roy!
Sorry for the delay but I was ill. So GREAT! thanks for the feedback. It's really useful for us. All your request I posted to my YouTrack account and rather soon you could be able to vote for them in public.
Also, we would like to give you the present from our team for your feedback. What type of R# license do you have ? We could provide you with free personal license of R# (probably you want to use it at home ;) ), dotTrace, dotCover or probably Java oriented products?
P.S. OOM is still not reproducible on my side. Do you use any additional third party controls in your custom control?

.NET Team QA Lead
twitter : m
JetBrains, Inc
"Develop with pleasure!"

So now, I am a proud owner of a personal license for R# and dotTrace (performance and memory):

dotTrace memory:


dotTrace performance:




(well I am still with the EAP and going to stay there – but at least I know it will work with R# 5)

Cool! (you can imagine me doing a happy dance…)

It does help to be a Good Samaritan…