My main use cases for ReSharper are:<p>1) Auto-formatting
2) Integrated Unit Test runner - not great, but still better than the built-in VS one
3) Go to Implementation - takes you to straight to the actual class implementation(s) of the interface member you clicked on
4) Auto-disassembly when you hit &quot;Go To Declaration&quot; on a referenced DLL<p>Only automated refactoring I use is the built-in VS stuff for renaming identifiers. I have no idea why you&#x27;d alternate between fields and properties - most people just use properties unless it&#x27;s a private member. Auto-implementing a constructor is A) something VS can already do out-of-the-box (snippets) and B) not really necessary a lot of the time since there&#x27;s object initializers now. And I have no idea what you mean about &quot;readonly detection&quot; since &#x27;readonly&#x27; is a first-class keyword.<p>&gt; It&#x27;s just boring repetitive rubbish that the language has delegated onto the programmer rather than simply improve the syntax.<p>You realize it&#x27;s a living language, right? There was admittedly a lot of boilerplate in older versions due to strong Java influence. But C# has had type inference (i.e. &#x27;var&#x27; keyword), anonymous types, lambdas, auto-implemented properties, and extension methods since C# 3 was released in 2007. C# 4 (2010) added co- and contravariance for generics, late binding, and optional &amp; named parameters. In 2012 they added async&#x2F;await with C# 5.<p>And now C# 6 has static type import, lambda-bodied methods, inline null-check operator, first-class string interpolation, and a bunch of property enhancements that remove even more boilerplate.<p>I&#x27;m dying to know what else you would add to the language.