对 Using 排序
Visual Studio 用户界面中的**“对 Using 排序”**选项通过按字母顺序排列并按以下顺序组织 using 指令、using 别名和 extern 别名来提高源代码的可读性:
extern 别名
using 指令
using 别名
提示
默认情况下,Visual Studio 会将以 System 开头的 using 指令排在其他 using 指令之前。 您可以修改“对 Using 排序”以对所有的 using 指令按字母顺序排序。 有关更多信息,请参见“选项”对话框 ->“文本编辑器”->“C#”->“高级”
调用该操作有两种方式:
主菜单:在**“编辑”菜单上指向“IntelliSense”,再指向“组织 Using”,然后单击“对 Using 排序”**。
上下文菜单:右击代码编辑器中的任意位置,指向**“组织 Using”,再单击“对 Using 排序”**。
下面的示例显示了对源代码执行**“对 Using 排序”**所生成的结果。
使用之前 |
使用之后 |
---|---|
extern alias ApressLibrary2; extern alias ApressLibrary1; using aio = apressio; using System.Collections; using Microsoft.CSharp; using System; using apressio = Apress.IO; |
extern alias ApressLibrary1; extern alias ApressLibrary2; using System; using System.Collections; using Microsoft.CSharp; using aio = apressio; using apressio = Apress.IO; |
备注
预处理器指令
在预处理器指令隔开指令或别名时,**“对 Using 排序”**不会执行排序操作。 例如,不会对下面的代码进行排序。
// Not sorted because preprocessor directives separate the using directives.
using System.Linq;
#region MyRegion
using System.Collections.Generic;
using System;
#endregion
using System.Collections;
但是,会对下面的示例进行排序。
// Sorted because pre-processor directives do not separate using directives
#region MyRegion
using System.Collections;
using System;
using System.Collections.Generic;
#endregion
注释
位于指令正上方或嵌入到指令中的注释在排序时会随指令一起排列。 下面的示例阐释了这一点。
使用之前 |
使用之后 |
---|---|
// © Contoso, Ltd using apressdata = Apress.Data; using aio = apressio; using System.Collections; using System; // using System; using System.Collections.Generic; // using System.Text using System.Text; using apressio = Apress.IO; // The End |
using System; // using System; using System.Collections; using System.Collections.Generic; // using System.Text using System.Text; using aio = apressio; // © Contoso, Ltd using apressdata = Apress.Data; using apressio = Apress.IO; // The End |
在上面的示例中,注释 // © Contoso, Ltd 按下面的 using 语句进行分组和排序,这是因为语句和注释之间没有回车符。 若要阻止此行为,请在注释后另外添加一个回车符。