Question: Good programming practice these days tends to mean splitting your stuff up into lots of assemblies and namespaces (for example, see [S#arp Architecture](http://www.sharparchitecture.net/), [MVC](http://www.asp.net/mvc), etc.). However a side-effect of that is that you have to stick a whole bunch of 'using ' directives into every class file. You know the sort of thing: Every controller class needs to 'use' the models and viewmodels namespaces, etc., etc.

Are there any techniques for making this easier? For example, is it possible to declare `using` directives at the namespace level instead of the file level - so that every class in a namespace 'foo' automatically is using namespace 'bar'? Or are there smart ways of setting the default 'usings' that Visual Studio adds, based on the folder you are in? Or other ways of making the adding of 'usings' less tedious?

Answer: 
As discussed in [this question](https://stackoverflow.com/q/5008991/590790), this is not possible.

When you have long lists of usings, you possibly are also having too much dependencies. It might be an indication that you need to do some refactoring.
In Visual Studio 2010 you can make adding `using`s less tedious by typing the type, for example, IEnumerable<int> and if a red box appears (this appears when the using statement is missing) in Visual Studio at the end of the word pressing `Ctrl` + `.` whilst the caret is over the type declaration. This should give you a quick menu with an automatic way of adding the missing `using` statement all from the keyboard.

Alternatively you could define a snippet with your common `using`s in and remove the unused ones when you have finished with the class using the context menu > organise usings.