I’ve been a huge fan of ReSharper for over 8 years. I have used it for since version 1 which I remember being a bit buggy and slow. I remember the times when ReSharper switched to v2 and many of my friends started reconsidering using it again due to huge performance improvements. In those days my primary productivity tool was Visual Assist (http://www.wholetomato.com/) which supported both C++ and C# and slowly migrating 100% to ReSharper when C++ work became less and less important and replaced by C# code in .NET world completely.
The primary goal of using R# was improved IntelliSense which early VS versions were lacking a lot. Added bonuses like refactoring were great too. These days Visual Studio improved a lot. When I say a lot it really means it does everything you need and more. I’ve worked with tons of IDEs in my life including both in .NET and other worlds and even the early Visual Studio versions were way ahead.
I started my morning in a really bad mood, lacking sleepless nights and the usual brain rush trying to fit as much as possible in the limited hours. My development laptop is Quad Core i7 with 8GB RAM and SSD which I think is more than enough. I couldn’t type code fast enough because VS IntelliSense is really bad, having a delay of 2-5 seconds between keystrokes. My typing experience is close to typing one letter, waiting, and scrolling R# IntelliSense popup to choose the appropriate symbol, because every keystroke kills VS for a few seconds. I won’t start complaining about debugging and building, it was a total nightmare.
The project is not that big. It’s a fresh new creation consisting only from Web API project, Azure Cloud Service and a few small projects. Probably totaling in less that 500 lines of code.
Therefore I’ve decided to disable ReSharper… It felt like I’m working on a serious desktop beast for gaming, everything just flies smooth. Who said ReSharper is a productivity tool? Maybe these people meant you feel 10 times more productive when you uninstall it?
In the beginning I though I would miss it a lot, and would eventually install back, maybe disabling some functionality and only use what I need. I was wrong. VS 2015 gives me almost everything I wanted. Shortcuts are different, however you can either remap them or just get used to VS. I prefer the last, at in the long run it will save me time getting used to non customized installs of VS somewhere on a remote server when I need to debug occasionally, and still be productive outside of my little world. You can find a similar VS feature for almost everything.
The comparison matrix between R# and VS is a big fat sales technique.
For example look at Code Analysis section. Everything they claim they do more requires a lot of CPU/RAM power. Moreover, it’s annoying to get all of those suggestions on-the-fly. It distracts me as a developer. A lot. I don’t want to get a suggestion for every tiny non important thing. Yes, I’d like to know that, but maybe by getting a CI report and just go and fix that when I have time, once a month or so. Some claims are just lies. For example they say they do Solution Wide Error Analysis. VS does that too. In a window called Error List, which shows you important errors and warnings as you type, and my laptop fan keeps quiet when it does so. VS also supports Alt+Enter, it’s just called Ctrl+dot(.).
The only thing I was missing is a nice Unit Testing panel. R# supports most of the open-source frameworks, including NUnit, and I can run tests in once click. This has gone from VS after uninstalling ReSharper, and it doesn’t support NUnit out of the box. It turned out you can easily add NUnit support by simply referencing NUnit Test Adapter NuGet package into your project: https://www.nuget.org/packages/NUnitTestAdapter/, then VS displays your tests magically in the built-in Test Explorer. Anyway you have to do this if you are running tests in TFS.
I’ve been running without ReSharper for 3 weeks now and can’t be happier. I am still constantly discovering new VS shortcuts which are similar or better than ReSharper and proving to myself what a waste was installing that horrible tool. In addition to that ReSharper supports will treat you as an idiot.
I am planning to research other tools in future, something like CodeRush by DevExpress, especially when they publicly release Roslyn support.
Conversation with ReSharper support
the conversation starts fine, the usual process, read on
I’ve followed most of the guides on the internet and nothing seems to help. I have around 2-5 seconds delay on typing dot (.) and intellisense popping up. Turning off resharper makes VS2015 blazing fast therefore it’s definitely R#10 who is causing the slowness.
Absolutely no idea where to start investigating or which info to attach.
“Support” 1 hour later
Thank you for the report.
If you notice any problems with performance, could you please help us to determine the cause of the issue by profiling Visual Studio for us – please follow the instructions described here http://resharper-support.jetbrains.com/hc/en-us/articles/214871597-How-to-collect-a-performance-snapshot-and-send-it-JetBrains-Team to collect a snapshot and send it to us.
I’m thinking, great, they have an automated tool to profile ReSharper which will point them in the right direction!
“Support” a few minutes later
Thank you for the snapshot.
I assigned the ticket to the right person. Will see what he will find there.
and a few hours later:
Just got a reply from the team member who was looking into the snapshot. Could you please recollect a snapshot just for typing “dot” and waiting for IntelliSense, since according to the snapshot it contains a lot of staff apart from IntelliSense and we can’t see what may affect typing:
- Run profiling as described in the article;
- Hit “Drop Snapshot”;
- Apply needed preparation to reproduce the issue;
- Hit Start Profiling;
- Type “dot”, reproduce the delay before IntelliSense popup appearing and hit “Get Snapshot”
When submit/send it to us once again.
Fine, I was collecting stats for everything slow, let’s not argue and do what they want.
4 days passed and nothing, I’m getting impatient!
Me again, 4 (!) days later
Any news/updates/recommendations etc.? It’s been silent here for a while.
“Support”, the next day
Sorry for keeping you waiting.
As I see here in comments, we are about to find a possible root of the performance issue you experience.
I thought, great, they found the problem! Stupid though to send me a link somewhere else instead of replying inline.
I don’t have access to your internal tools, could you please insert information here.
“Support” the next day
Thank you for the reply.
To access to ticket please log in to YouTrack using your JB account (which you used to submit the snapshot). Then you will see the ticket and comments.
Where I start understanding I’m talking to an Iron Man. This poor guy is just following some instructions and has absolutely no idea what’s going on!
Ok, I logged in, I see the ticket I’ve raised and some code dump? What am I looking at?
It should work both ways, I’ve attached a screenshot showing the ticket in my browser which confirms there is zero relevant information whatsoever. Can you please make a bit of effort now and reply here what you have discovered.
Getting angry as after spending precious time to log in to their stupid bug tracker all I see is literally some internal resharper’s stack trace of some unknown to me method call. What the hell is that???
“Support” a few minutes later
Thank you for the reply.
It means that we found some possible places in R# (collecting IntelliSense list to show) which may affect a performance according to your snapshot. Next step is to fix R# code to reduce a performance impact.
So in other words you don’t know what the problem is and can’t advice anything?
“Support” next day
Right now a workaround is to select Visual Studio Intellisense here ReSharper | Options | Environment | IntelliSense | General.
This guy just wasted hours of my time and confirmed how useless he is. There is no link to complain on the website, the whole company is a bit dodgy. So I’ve decided to give up as the license was a gift from someone who didn’t need it (I understand now why).
That’s not a workaround, it TURNS OFF resharper intellisense.
Anyway I’m tired talking to the incompetent resharper “support”. That’s the end of my resharper journey.
Thanks for nothing.