Exploring some fresh ReSharper plugins
At the start of the year, we wrote a series of blog posts covering some plugins for ReSharper. With the release of ReSharper 8 and the new Extension Manager, installing and distributing plugins, live templates and settings has become much easier. And this has already increased community contributions. In this blog post, we’ll have a look at some new plugins and some prerelease plugins that are worth checking out.
One plugin I personally like a lot is JetBox. This plugin allows synchronizing ReSharper settings using DropBox, which is really useful when working on different machines or if you want to share settings between your work and home computer.
The link with DropBox can be set up from the ReSharper settings. Once that has been done, JetBox will automatically synchronize settings whenever they are changed on one of your machines.
Go to Word
With ReSharper, we can easily navigate to symbols and files using Go to Everything. Now imagine we want to navigate to a specific word in our solution. We can use the Find dialog and do a global search, be patient while performing the search and then scanning through all results found. Not with the Go to Word plugin!
With Go to Word, we can search for any text in any project file. Backed by ReSharper’s caches, the search is incredibly fast as well! Having assigned hotkeys through Visual Studio options, Go to Word behaves similar as Go to Everything:
The Postfix Completion extension adds several shortcuts to code completion, depending on context. Take the array below, numbers. When selecting foreach, a loop will be created for the array.
.prop creates and assigns a property. .notnull triggers a surround template checking for null values. Using .while on a boolean expression will use it as the condition in a while loop. The extension adds over 20 of those shortcuts to code completion!
The Utility Pack plugin adds a number of context actions to ReSharper: Duplicate Method, Make Abstract, Make Virtual, Pull Parameters, Reverse For-loop, Use As Operation, Use Cast Operation, Use String.Compare, and Use StringBuilder.
Want to check if two strings are equal? And prefer using String.Compare for that? Utility Pack has got you covered:
Prefer using as instead of that explicit cast?
There are 9 additional context actions available from the Utility Pack plugin, do give them a try.
Introduce Namespace Alias refactoring
The Introduce Namespace Alias refactoring plugin does exactly what its name says. When the cursor is placed over a namespace, it adds an additional refactoring which allows us to introduce an alias for it.
Give these plugins (and the ones we didn’t cover in this post) a try! The ReSharper | Extension Manager menu gives easy access to all of them. Note you can also check the ReSharper gallery for a complete list.
If you are looking to write a plugin yourself, we have a series of posts and documentation on how to create a plugin using the ReSharper SDK. And if you need a hand, let us know! We’re more than happy to help you out.