Preview v2.0 Refactoring Essentials now...


Just a couple months ago I highlighted one of our favorite refactoring/analyzer projects, Refactoring Essentials - Open Source, Cross Platform Refactoring and Analyzers.

Well the team is on a tear, with Andreas Weizel announcing that Refactoring Essentials v2 is now available in preview!

Refactoring Essentials v2.0 Preview

Currently we are working on a 2.0 release of Refactoring Essentials, that will include a considerable number of new refactorings and bugfixes/improvements - for C# and VB! Please see the complete list in our release notes.

Because some of our devs will be on vacation next week, the official release will arrive only after September 14th, 2015. But if you are interested in experiencing the new features now, you can pick one of our development builds automatically pushed to VSIX Gallery. Don't get confused: The development builds still have a 1.2.x version number.

Feel free to test (especially the new refactorings and analyzers) and let us know about any problems through GitHub!

P.S.: Many thanks to all contributors and testers who helped us in the last months to make Refactoring Essentials better!

Release 2.0

Bugfixes and improvements in existing analyzers/refactorings in this release: see list

What's New in C#

New refactorings - thanks to @Novakov

  • "Put inside 'using'"

New analyzers - thanks to @Novakov

  • "Iterate via 'foreach'"
  • "Merge nested 'if'"

New analyzers - ported by @Kavignon

  • "Redundant explicit size in array creation"
  • "Redundant comma in array initializer"
  • "Redundant base constructor call"
  • "Empty argument list is redundant"
  • "Local variable is never used"
  • "Parameter is assigned but its value is never used"
  • "Redundant condition check before assignment"
  • "Convert 'if...return' to 'return'"

What's New in VB

New refactorings:

  • "Check if parameter is Nothing":
  • "Compute constant value":
  • "Convert dec to hex.":
  • "Convert hex to dec.":
  • "Convert 'If' to 'Select Case'":
  • "Convert 'Select Case' to 'If'":
  • "Convert cast to 'TryCast'":
  • "Convert 'TryCast' to cast":
  • Improvement of "Check dictionary key value" refactoring:

Essential Links:

And here’s a few more links you might find interesting:

The Discussion

  • User profile image

    Two C# refactorings I am missing:

    1. copy constructor parameters (allow to select if there are multiple constructors) from base class

    2. convert literal of same value (typically string type) used multiple times to single constant.

  • User profile image
    Trinos Voltoa

    The thing I wish for the most is Resharper's "Convert LINQ to foreach loop" refactoring

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.