ReSharper plugins via NuGet

by Matt 18. October 2011 10:04

I have this little ReSharper plugin. It is small and rather useful. And one of the most frequent requests I get is for an installer.

I’ve resisted this, mainly because it’s only 4 files. I could see how useful an installer would be, but I wasn’t going to write one just to copy 4 files around. That would be like using a sledgehammer to crack a nut.

Nope. I’m going to use a nuclear bomb to crack a nut.

Instead, I thought it would be more interesting to write an extension manager for ReSharper, based on NuGet. In other words, package ReSharper plugins as NuGet packages, and deliver and manage them in the same way – so you can browse, install, update and uninstall, just like assembly reference NuGet packages.

Something like this:


Before we go any further, I need to point out that this is not a finished product – it is very much an experimental ALPHA version. It works, but only just.

It can do the basics just fine – it can browse and install, uninstall and update plugin packages. They’re stored in a nuget repository in your local profile, and get automatically loaded at startup.

The big thing that’s missing is server support. The “Online Gallery” does NOT talk to a server, and is HARDCODED to point at C:\rsrepo.

It’s also missing other useful stuff like error handling, displaying license and progress dialogs and so on.

But it’s functional enough to give a tyre-kicking to, and I’d appreciate the feedback. ReSharper 6.0 only for now.

Here’s what you need to do to get up and running (please read carefully – this is alpha quality!):

  1. Download the zip file from the github downloads page
  2. Extract the contents – you’ll find a .vsix file and 3 .nupkg files
  3. Double click the .vsix file. This will install the plugin (in the future it will be on the Visual Studio Gallery, making this much easier)
  4. Create the C:\rsrepo folder and copy the .nupkg files into it
  5. Fire up Visual Studio
  6. Go to ReSharper –> Extension Manager to bring up the manager UI

If you go to the “Online Gallery” section of the extension manager, you should see the test packages listed. I’ve created a package for the current 6.0 release of xunitcontrib, and two versions of a sample plugin that simply adds a menu item to the ReSharper menu (it just displays a message box with the current version).

Once you’ve installed a package, you need to restart VS before the plugin will get loaded (you’re not yet prompted like NuGet does). Similarly, uninstalling or updating a plugin requires a restart (this is unavoidable – the dlls are loaded into memory and there is no way to unload them. You’ll find the same behaviour in the Visual Studio extension manager).

While you’re in the Online Gallery, you’ll probably notice that it lists all versions of the sample packages, rather than just the latest. Don’t install both versions at the same time – that will confuse things (I told you it was alpha). The two versions are there to test updating – once the oldest version is installed, going to the Updates section will list the newer as ready for updating.

So, what’s next?

Top priority is server support. I need to get a gallery working, and to be able to configure the extension manager with the server feed.

Then, a proper good tidy up – error handling, progress indicators, showing licenses, searching, sorting etc. I’d like to add support for ReSharper 5.1 and the forthcoming 6.1 EAP.

Oh, and more packages would be nice, too.

Creating a package is dead easy – just put your assembly files in an “rs60\plugins” folder. Open one of the sample packages in the NuGet Package Explorer to take a look. Or check out the samples folder in the source on github.

I’d love to hear some feedback. Let me know what you think. Leave a comment here, github or on twitter.

So, that’s how you install 4 files.


Comments (26) -

Nordin Rahman
Nordin Rahman
10/18/2011 6:11:38 PM #

This looks interesting. Thanks!


10/18/2011 9:24:54 PM #

Interesting, but something definitely better left for Microsoft or jetbrains to handle. I can't imagine having multiple extension managers for installed add-ons. The VS extension manager It should be made so that any plugin or add in can register in the extension manager to receive extensions specifically for it.

So I hope you can share your work with Microsoft!


10/19/2011 11:23:08 AM #

wov...R# is cool, NuGet is cool...keep up the good work!


Mike Murray
Mike Murray
10/20/2011 5:51:11 PM #

I think you should consider Chocolatey as well, as it is better suited to not only bringing down files to the machine but also running initialization and install tasks.


Jake Ginnivan
Jake Ginnivan
10/31/2011 6:43:20 PM #

Awesome work Matt!

Just tried it out, I like it. The thing about ReSharper extensions is you are about the only person actively supporting them. Discoverability is a big thing, and I hope JetBrains helps you out with this if they are not willing to do it themselves. Least they could do is host the Gallery for you Smile


cairns commercial solar
cairns commercial solar United States
5/18/2015 2:54:50 PM #

I am an avid reader who likes engaging content. That's why I am here. Your original views on this topic are refreshing and interesting. You've done a great job of expressing your views. Thank you.


philix United States
11/18/2015 7:51:14 PM #

ace web site


Philix United States
11/18/2015 10:02:47 PM #

Great Website


philix United States
11/20/2015 5:24:47 PM #

Great Website


philix United States
11/27/2015 6:16:49 PM #

Nice Web Site


Janine Norwood
Janine Norwood United States
1/6/2016 3:03:51 PM #

AWESOME!Can't wait for that, will be something to want to accomplish day by day, to do something AWESOME!


Isreal Payor
Isreal Payor United States
1/15/2016 3:43:50 AM #

the style of keeping you connected with so many things of different types is awesome and you find it interesting everytime.


Arnulfo Rametta
Arnulfo Rametta United States
1/15/2016 3:47:54 AM #

Thaaaat IS awesome! lol hehe


Stanley Tocci
Stanley Tocci United States
1/15/2016 4:13:09 AM #

Congrats! This is such a great website, I know it will translate well into book form. Which is AWESOME!


Joseph Vogel
Joseph Vogel United States
1/15/2016 4:33:44 AM #

yeah, except the "dolphin saving you" one


Loren Benward
Loren Benward United States
1/15/2016 5:45:23 AM #

Congratulations on your success! You deserve it for brightening all of my work days with something to be excited about.


Marylynn Okoro
Marylynn Okoro United States
1/15/2016 5:53:57 AM #

Congratulations, Neil! I love this site and I know I'll love the book. Christmas, birthdays, Father's Day 2010  check!


Loida Shaneyfelt
Loida Shaneyfelt United States
1/15/2016 7:06:39 AM #

Printing out an essay or paper, reading the first line and realizing there aren't any mistakes.<br />AWESOME!


Wilton Megeath
Wilton Megeath United States
1/15/2016 7:14:20 AM #

Congrats! This is such a great website, I know it will translate well into book form. Which is AWESOME!


Janita Wendelin
Janita Wendelin United States
1/15/2016 7:44:47 AM #

Congratulations, Neil! I love this site and I know I'll love the book. Christmas, birthdays, Father's Day 2010  check!


Loida Shaneyfelt
Loida Shaneyfelt United States
1/15/2016 8:27:41 AM #

Let me be the first to say: Congrats, Neil! I've been following this site from day one, and have loved every single day of awesomeness that it has delivered. You deserve all the success coming your way. Keep it up!AWESOME!


instant high pr backlinks
instant high pr backlinks United States
2/10/2016 12:44:11 AM #

Famous! This is simply amazing! Not simply high quality, but additionally important details. And that is uncommon to come by these days! I have to claim that I am truly amazed and also will undoubtedly come back once again if you keep up the quality and worth of the material at this level, and even acquire it on the following degree. Seriously, from the bottom of my heart, thanks for your time! God bless!


POŻYCZKA United States
6/23/2016 8:02:57 AM #

pożyczki pozabankowe


Rejestracja Domen
Rejestracja Domen United States
6/25/2016 6:15:07 AM #



rejestracja domen
rejestracja domen United States
6/25/2016 6:15:08 AM #

Odzyskiwanie domen


Todd Mulgrew
Todd Mulgrew United States
7/20/2016 7:43:06 AM #

Take my word for it, it's not as easy as you think


Pingbacks and trackbacks (1)+

Add comment

  • Comment
  • Preview


Month List


Comment RSS