Have you ever used ReSharper? It is far more than just a refactoring tool. It is basically a set of extensions for Visual Studio that somewhat entirely transforms the VS experience. It could be described as pseudo-productivity tool for Visual Studio more than merely a refactoring tool.<p>With that said, refactorings in C# code (like Java) are quite often incredibly repetitive which is why ReSharper exists: to ease that pain. Quite often it is alternating a property to a field, and vice versa. Or auto-implementing a new constructor parameter with a null checker, field or property setter, readonly detection etc. It&#x27;s just boring repetitive rubbish that the language has delegated onto the programmer rather than simply improve the syntax. There is a common expression about C# (admittedly, often perpetuated by those whom have moved on from C#) which is &quot;In C#, you have to do everything three times.&quot;<p>ReSharper has a type of code linting built into it which can be rolled out to the whole project team. This is cool and all. But it would have been better if the language ecosystem itself agreed upon a stylistic standard and provided a code linter for it. Then allowed that to be added in as a build step. C# shops are possibly too lazy for that though. It&#x27;s all about the IDE baby!<p>And that ultimately is the USP of ReSharper. A product for lazy developers. It&#x27;s no wonder they charge quite handsomely for it.