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.

JetBox

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.

Synchronizing ReSharper settings using DropBox

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:

Postfix Completion

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!

Utility Pack

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:

Utility Pack - Use String.Compare

Prefer using as instead of that explicit cast?

Utility Pack - Use As instead of 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.

Introduce Namespace Alias refactoring

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.

Enjoy!

This entry was posted in ReSharper Tips&Tricks and tagged , , , . Bookmark the permalink.

2 Responses to Exploring some fresh ReSharper plugins

  1. John Watson says:

    Hi, I decided to try the JetBox plugin based on this article. Downloaded and added extension and the login link in the Options panel does nothing. I’ve tried rebooting my machine as well as starting VS 2012 as Administrator and upgrading to 8.0.1 – nothing seems to work. I note that there’s no issues reports on github and very little for Google search activity on this thing. Is it really ready or flakey?

  2. I see you have posted an issue on the plugin’s GitHub page, probably best to wait for a reply there. It should open up a browser window to complete login.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>