Remove unused namespaces across a whole project or solution at once

There is no need for any plugins in VS 2017 or 2019. Click the bulb icon near any using statement and click Solution next to Fix all occurrences in part.

Screenshot of solution


The other answers which refer to the Productivity Power Tools extensions don't go into any detail of how to actually do this, so here are some instructions for Visual Studio 2013, 2015, 2017 and 2019:

First, open the Tools > Extensions and Updates... dialog in Visual Studio, select Online in the left-hand bar and then search the Visual Studio Gallery for "Productivity Power Tools". Install the extension and restart VS.

Alternatively, you can manually download and install the extensions for your version of Visual Studio:

Productivity Power Tools 2013
Productivity Power Tools 2015
Productivity Power Tools 2017/2019

For VS2017 and VS2019, you can also download the Power Commands extension separately from the others in the Power Tools pack:

Power Commands for Visual Studio

Be aware that at the time of writing, the VS2017 version doesn't work with .Net Core projects/solutions.

Once you have the extension installed, just right-click the solution in Solution Explorer, then select Power Commands > Remove and Sort Usings.

This can take a while, particularly on large solutions; it also doesn't keep modified files open (hence no undo), so make sure you commit everything in your VCS of choice before running it, so that you can revert the changes it makes if something goes wrong!

Update: Format All Files

Recently I've been using the Format All Files extension, which allows you to execute Format Document, Remove and Sort Usings and one other custom command of your choice (all optionally, set in the VS preferences).

It seems to work very well, but again, no undo, so make sure you commit everything in your VCS of choice before running it.

Tags:

C#

Namespaces