I like to put my using directives inside the current namespace, and not outside as VS and Resharper per default puts them.
Does anyone know of a macro/standard functionality that sorts/removes unused using directives and puts them inside the current namespace?
UPDATE - ReSharper 2016.1: This option is now moved to Code Editing → C# → Code Style → Add 'using' directive to the deepest scope
Have you tried the ReSharper option:
Languages → C# → Formatting Style → Namespace Imports → Add using directive to the deepest scope
I'm not sure whether R#'s code cleanup will reorder the existing ones for you though.
A picture is worth a thousand words – thus in ReSharper 2017 and 2018:
As of version 8.2, this has moved. It is now here:
Within Visual Studio
Resharper -> Options...
Then in the Options dialog
Code Editing -> C# -> Namespace Imports -> Insert using directives when necessary -> Add using directive to the deepest scope
As of Resharper 9 this has moved into Code Editing
=> C#
=> Code Style
=> Reference Qualification
=> Add 'using' directive to deepest scope
.
Or you can use new settings search facility and search for deepest scope
. The exact setting will come up:
StyleCop supports ReSharper integration starting from version 4.7.
From http://stylecop.codeplex.com/:
4.7 is compatible with JetBrains R#5.1( 5.1.3000.12), R#6.0 (6.0.2202.688), R#6.1 (6.1.37.86), R#6.1.1 (6.1.1000.82) and R#7.0
(7.0.54.77)
4.7 is compatible with Visual Studio 2008, Visual Studio 2010 and Visual Studio 11
This release includes the StyleCop ReSharper plugin (compatible with
ReSharper 5.1, 6.0, 6.1, 6.1.1 and 7.0)
I've edited my default visual studio templates to put my using directives inside the namespace.
For sorting and removing unused directives, I use Power Commands for Visual Studio 2008.