Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Alternatives to Resharper [closed]

Tags:

Just before you sigh and mark this question as a duplicate, I can tell you, it is not.

I've seen a lot of questions about replacing Resharper with something else, but most of them are out of date. I'd like to get this question raised again with a view to current situation in the world of VS extensions.

I have been using R# for the last 2 years and have paid out of my pocket for V7 and for upgrade to V8. But more and more I use it, I feel it is a drag! Drag on CPU resources and drag trying to fight the bloody thing. Visual Studio is horribly slow with it enabled. One of the projects I work on has 230K lines of code and R# is very slow there!

I wish Resharper was modular and I could turn off most of it's features.

I have tried Productivity Power Tools and they add a lot of value, but don't have critical functionality I'm after

Anyway, my question is: what extensions can do the following:

  1. Nice test runner. Where you can right click on the test and say Run. Native VS test runner is horrible.

  2. Refactorings. Some refactorings are presented in VS natively which is nice, but anything past extracting a variable is non-existing. Renaming is very nice in R#, but I've never seen this implemented anywhere else.

I know this question is a bit off-topic - asking to recommend a product. But people did ask similar questions here, hence I decided to ask as well.

2nd July 2018 Edit 4 years after and I still get upvotes on this question, so I guess it is a time for an update. I'm on Visual Studio 2017 (currently 15.7.4) and don't have Resharper installed on any of my machines. And it is working just fine. Built-in functionality is mostly doing what is needed, even built-in Test Runner is fine.

There was a period of withdrawal when I was missing R#, but after almost 2 years without R#, I can say - native VS is good (and fast) enough to work on web projects. Yes, some R# features are still missing, but not enough to grant R# behemoth to weight me down.

like image 447
trailmax Avatar asked Jul 02 '14 22:07

trailmax


People also ask

Is there a free alternative to ReSharper?

Roslynator allows you to convert your C# code into more efficient C# code. That's why this is the most popular free ReSharper alternative.

Does ReSharper Support VS 2022?

ReSharper 2021.3 release supports Visual Studio 2022 out-of-the-box.

Why is ReSharper not working?

If ReSharper stopped working for a single specific solution (like, there is no Code Analysis, Navigation, Code Inspections, etc.), but works fine for the others, this might indicate that solution specific settings, as well as ReSharper caches are corrupted, and VS with ReSharper cannot rebuild them automatically for ...

What is the difference between ReSharper and ReSharper ultimate?

Follow. ReSharper Ultimate was a license that combined all the individual JetBrains . NET tools, as well as ReSharper C++. Each ReSharper Ultimate license allowed a single developer to use ReSharper, ReSharper C++, dotCover, dotTrace, and dotMemory.


1 Answers

This is one of those subjective questions that are typically closed quickly on StackOverflow, because there isn't just one answer. Here is mine, and I will provide the typical disclaimer: I am very biased towards ReSharper. I'm a huge ReSharper fan, have been using it since v2.5, I build plugins for ReSharper, and I keep very close tabs on what's happening at JetBrains, because I really love that company!

I will admit: ReSharper performance is something that comes up with every single version, year in, year out. No matter how much work the ReSharper team does to improve performance with every new version, this is true - once ReSharper is installed in Visual Studio, a noticeable performance hit is felt - Visual Studio takes a bit longer to start, at some (rare) cases, typing might be slower, and if you have huge code files (few thousand lines long), ReSharper will choke trying to open them.

Having said all that - for the additional value I get from ReSharper, I will take its performance overhead any day! There are just not enough words for me to describe the benefits of being so familiar with the tool, that you feel like an absolute caveman without it. My dayjob is developing a Visual Studio debugging extension, and whenever I install a clean Visual Studio in a Virtual Machine for testing, I am in physical pain, because vanilla VS lack so many features that seem just obvious (few examples: extract (introduce) variables/fields, inline methods, rename everywhere (as you've mentioned), not to mention navigation to all errors in the solution without having to recompile, and many more).

I mentioned that I am biased, but I will try answering your actual question. You have probably heard of Roslyn. If not, Roslyn is the name of the next-gen .NET compiler platform that Microsoft has been working on for the past several years. This new platform provides APIs that will allow Visual Studio extension authors to build diagnostics and refactorings/code-fixes that are very similar to ReSharper. So similar, in fact, that Microsoft just took ReSharper's light-bulb and put it in Visual Studio!

The next version of Visual Studio (currently called Visual Studio "14", which is in preview stage) is entirely powered by Roslyn, and comes out of the box with some "ReSharper-like" features, such as the powerful rename (screenshot below), and other diagnostics. The SDK comes with samples, allowing you to build your own diagnostics and refactorings, using a rich, modern API. Microsoft did a good job in making all those things accessible to "normal" developers, so you don't have to be a compiler expert to build those things yourself.

I will say this: compilers are HARD. No matter how good the API or the platform, the amount of work required to cover all the corner cases is insane. It took almost 10 years for ReSharper to get where they are today, feature-wise. It will be at least a few more good years until Visual Studio catches up to (most of) them. There are already free extensions that build on top of Roslyn, which introduce some new diagnostics and refactorings.

In conclusion, I believe Roslyn will provide a sufficient alternative to ReSharper in the not-so-near future. Many free extensions will be built, and you'll be able to install just the ones you want. One caveat about free extensions, just as you yourself mentioned in the question - they tend to become obsolete and disappear. There will be no-one to complain to about their own bugs and performance issues.

Edit Same is true, by the way, for any other commercial "ReSharper alternative", that's why I didn't even bother mentioning other tools. The all have both pros and cons. It's up to you to decided what is sufficient.

Hope this helps!

Roslyn Rename

like image 160
Igal Tabachnik Avatar answered Sep 19 '22 12:09

Igal Tabachnik