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?
A picture is worth a thousand words – thus in ReSharper 2017 and 2018:
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: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
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.
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.
StyleCop supports ReSharper integration starting from version 4.7.
From http://stylecop.codeplex.com/: