A suggestion arrived in email, and here is my response.  (None of this is on the feature list for Whidbey, it’s just ideas.)

 

1. Fully qualify (all names / all names in namespace X / all instances of type Y / the instance under my cursor), removing a using directive if possible.

 

1a. Add 'global::' when doing this.

 

2. Least-qualify (one of the above) by removing namespace from the name and adding a using directive.

 

3. Partially-qualify names from stuff within this project.  That means writing like this:

 

using System.Foo;

using System.Bar;

 

namespace Microsoft.Product.Feature.ComponentA

{

     class C {}   

}

 

namespace Microsoft.Product.Feature.ComponentB

{

     class D

     {

          ComponentA.C x;

     }   

}

 

4. Find all unused using directives (one you can remove without changing the meaning of the code).  A little tricky if you use #if, so avoid it.!

 

5. Sort using directives alphabetically.  Insert a blank line to separate different top-level namespaces.