开发者

Visual Studio sorts usings in wrong order

开发者 https://www.devze.com 2023-03-18 09:09 出处:网络
I\'ve just discovered what seems to be an annoying bug in Visual Studio 2010. It appears that the Sort Usings function is sorting my usings in the wrong order. Have a look at this code:

I've just discovered what seems to be an annoying bug in Visual Studio 2010. It appears that the Sort Usings function is sorting my usings in the wrong order. Have a look at this code:

namespace Test
{
  开发者_JAVA技巧using Test.WebPages.Utilities;
  using Test.WebPages.WebRef;
  using Test.WebPages.ViewModels;

  namespace WebPages
  {
    namespace Utilities { class A { } }
    namespace WebRef { class B { } }
    namespace ViewModels { class C { } }
  }

  public class Program
  {
    public static void Main()
    {
      var a = new A();
      var b = new B();
      var c = new C();
    }
  }
}

Obviously the sort order is wrong. Annoying when you're using StyleCop SA1210.


I don't think that Sort Usings does anything to usings inside of a namespace


Aha, now I have some more insight. I tried this:

using Test.W; // place W here, initially
using Test.U;
using Test.V;
using Test.X;
using Test.Y;

namespace Test
{
  namespace U { class A { } }
  namespace V { class B { } }
  namespace W { class C { } }
  namespace X { class D { } }
  namespace Y { class E { } }

  public class Program
  {
    public static void Main()
    {
      new A();
      new B();
      new C();
      new D();
      new E();
    }
  }
}

Sorting the usings above results in:

using Test.U;
using Test.W; // place W here, initially
using Test.V;
using Test.X;
using Test.Y;

which is wrong, of course. However, I then tried this order initially:

using Test.U;
using Test.V;
using Test.X;
using Test.Y;
using Test.W; // place W here, initially

Sorting this resulted in the correct order:

using Test.U;
using Test.V;
using Test.W; // place W here, initially
using Test.X;
using Test.Y;

Very strange.

0

精彩评论

暂无评论...
验证码 换一张
取 消