CodeRush™ and Refactor!™ from DevExpress!
From the blurb at DevExpress.com
CodeRush™ is a powerful Visual Studio® .NET add-on that enhances the developer experience by accelerating developer and team productivity via an integrated suite of technologies.
These two add-ins pack so much goodness into Visual Studio, even after years of using the suite every day, I still only scratch the surface of what available to me but I’m slowly getting there.
As for writing a single post to review every feature in CodeRush™ and Refactor!™ would be an impossible task and so what I’ll be writing about is just the few features that I use most.
Some of the main features I use come under the navigation tools.
- Find All References
- Quick Nav
- Tab to Next Reference
Find All References is the big daddy of all search tools. It is insanely fast at finding all references of a given item anywhere in your solution. It then quickly shows where the references are, by file, namespace and method. It can also show you a preview of the reference in the given file without having to directly open the file itself.
Quick Nav on the other hand is a quick and simple tool window to search for code in your project. Start typing the name of what you are looking for and it quickly starts returning a list of possible matched in your code.
It also can match what you’re typing to the first letter of each concatenated identifier. For example, “NIE” would match “NotImplementedException”.
Tab to Next Reference is my favourite of the three, Simply position your cursor on an identifier and hit TAB to start it off. It then highlights every instance of that identifier and you can keep hitting TAB to jump to the next instance.
I use a number of refactorings that Refactor!™ gives me too.
For creating new classes I’ll typically define the class in what ever code file I happen to be in. I then trigger a refactoring to extract that class into its own file.
Extract to Method is a very useful refactoring. One of the enhacnements Refactor!™ give you is visual clues as to what it will be used as parameters of the method to be extracted.
Then of course is the fast and powerful Renaming. I have it set up on pressing F2. It then highlights all instances of the identifier I had the cursor on at the time, then I can edit the name of the identifier and all instances are updated as I type.
It all happens quickly and smoothly, and even undo works as expected, undoing all renames quickly. It even works effortlessly across numerous files.
These are just a tiny amount of the features that even I use and I do not use either add-ins to their full potential but I get there one day.
As an extra bonus, there are numerous video tutorials on the DevExpress.com site to help users explore more features and I try to watch as many as I can. They even host live webinars to show off features.
If your are not satisfied with features this suite gives you, you can even build your own. The suite is built upon DXCore which enables anybody to develop their own plugin for CodeRush™ or Refactor!™.
There is also a free version called CodeRush Express which even has a surprising number of the features of the main product so there is no excuse for anybody to not try it out..
Lastly, I love these add-ins and if you develop in Visual Studio® .NET, I whole-heartedly recommend you try it out.