123

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?

Richard Ev
  • 52,939
  • 59
  • 191
  • 278
larsw
  • 3,790
  • 2
  • 25
  • 37

7 Answers7

225

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.

sashoalm
  • 75,001
  • 122
  • 434
  • 781
marklam
  • 5,346
  • 1
  • 24
  • 26
43

In ReSharper 2020, go to Options and then:

Code EditingC#Syntax StyleAdd 'using' directive to deepest scope

enter image description here

Pang
  • 9,564
  • 146
  • 81
  • 122
silkfire
  • 24,585
  • 15
  • 82
  • 105
18

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

enter image description here

Chris Schiffhauer
  • 17,102
  • 15
  • 79
  • 88
16

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:

Add 'using' directive to deepest scope

trailmax
  • 34,305
  • 22
  • 140
  • 234
2

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)

Nikita R.
  • 7,245
  • 3
  • 51
  • 62
1

Update for Resharper 2020.1: This option can now be found in Options → Code Editing → C# → Syntax Style → Reference Qualification and 'using' Directives

Image for reference

Bill Mader
  • 11
  • 2
1

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.

Aaron Daniels
  • 9,563
  • 6
  • 45
  • 58