排序 Using
Visual Studio 使用者介面中的 [排序 Using] 選項可藉由依照下列順序,依字母順序排列和組合管理 using 指示詞、using 別名 (Alias) 及 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; |
備註
前置處理器指示詞 (Preprocessor Directives)
當前置處理器指示詞分隔指示詞或別名時,[排序 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
註解
在指示詞正上方或與其一起內嵌 (Inline) 的註解,在排序期間會與該指示詞群組在一起。下面這個範例可說明這個行為。
執行前 |
執行後 |
---|---|
// © 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 陳述式 (Statement) 來分組和排序,這是因為在陳述式與註解之間沒有歸位字元 (Carriage Return)。若要防止這種行為,請在註解之後加入額外的歸位字元。