選項、文字編輯器、C#、進階
使用 [進階] 選項頁面來修改 C# 的編輯器格式、程式碼重構和 XML 文件註解設定。 若要存取此選項頁面,請選擇 [工具]>[選項],然後選擇 [文字編輯器]>[C#]>[進階]。
注意
並非所有選項都會列在此處。
分析
為以下項目執行背景程式碼分析...
請選擇下列其中一個選項。
選項 描述 None 所有分析器和對應的程式碼修正都會停用。
編譯器診斷和對應的程式碼修正會在所有開啟的文件上啟用。目前文件 (預設) 所有分析器只會在目前使用中的文件上執行。
編譯器診斷會在所有開啟的文件上啟用。開啟的文件 所有分析器和編譯器診斷會在所有開啟的文件上啟用。 整個解決方案 不論開啟還是關閉,所有分析器和編譯器診斷都會在方案中的所有文件上啟用。
即時程式碼分析或背景分析範圍
設定受控程式碼的背景分析範圍。 如需詳細資訊,請參閱如何:設定受控程式碼的即時程式碼分析範圍。
using 指示詞
排序 using 時先放置 'System' 指示詞
選取後,快顯功能表中的 [移除並排序 Using] 命令會對
using
指示詞進行排序,並將 'System' 命名空間置於清單頂端。排序之前:
using AutoMapper; using FluentValidation; using System.Collections.Generic; using System.Linq; using Newtonsoft.Json; using System;
排序之後:
using System; using System.Collections.Generic; using System.Linq; using AutoMapper; using FluentValidation; using Newtonsoft.Json;
使用指示詞群組來進行分隔
選取後,快顯功能表中的 [移除並排序 Using] 命令會透過在具有相同根命名空間的指示詞群組之間插入空白行來分隔
using
指示詞。排序之前:
using AutoMapper; using FluentValidation; using System.Collections.Generic; using System.Linq; using Newtonsoft.Json; using System;
排序之後:
using AutoMapper; using FluentValidation; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq;
為 .NET Framework 組件中的類型建議 using
為 NuGet 套件中的類型建議 Using
選取這些選項後,快速動作可用來安裝 NuGet 套件,並為未參考的類型新增
using
指示詞。貼上時新增缺少的 Using 指示詞
選取此選項時,當您將型別貼到檔案時,
using
指示詞會自動新增至您的程式碼。
醒目提示
反白顯示游標下的符號參考
如果將游標置入符號內,或按一下符號,則會反白顯示該符號在程式碼檔中的所有執行個體。
大綱
檔案開啟時進入大綱模式
選取此選項時,會自動設定程式碼檔的大綱,以建立可摺疊的程式碼區塊。 第一次開啟檔案時,會摺疊 #regions 區塊和非現用程式碼區塊。
顯示程序行分隔符號
文字編輯器會指出程序的可見範圍。 系統會在專案的 .cs 原始程式檔中描繪一行,描繪的位置如下表所列:
.cs 原始程式檔中的位置 行位置的範例 在區塊宣告建構關閉之後 - 在類別、結構、模組、介面和列舉的結尾處
- 在屬性、函式或子函式之後
- 不在屬性中的 get 與 set 子句之間在一組的單一行建構之後 - 在重要的陳述式之後,類別檔中的型別定義之前
- 在類別中宣告的變數之後,任何程序之前在單一行宣告 (非區塊層級宣告) 之後 - 接在重要的陳述式、繼承陳述式、變數宣告、事件宣告、委派宣告和 DLL 宣告陳述式之後
區塊結構輔助線
選取這些核取方塊可在程式碼中的大括號 ({}) 之間顯示虛線垂直線。 然後,您可以輕鬆查看宣告層級和程式碼層級建構的個別程式碼區塊。
註解
產生 /// 的 XML 文件註解
選取此選項時,會在您鍵入
///
註解簡介後插入 XML 文件註解的 XML 元素。 如需有關 XML 文件的詳細資訊,請參閱 XML 文件註解 (C# 程式設計指南)。
擷取方法
不要在自訂結構上放置 ref 及 out
取消核取此核取方塊,藉由在將運算式擷取至方法呼叫時,重新參考現有的結構物件,以避免潛在非預期地複製結構。
範例
假設在您的程式碼中存在下列
class
和struct
:public struct CustomStruct { private int Count; public int Bump => ++Count; } public class CustomClass { public void DoIt() { CustomStruct cs = new CustomStruct(); int i = 0; i += cs.Bump; // select this line } }
如果 [不要在自訂結構上放置 ref 及 out] 選項未核取,則「擷取方法」功能會產生下列項目:
public class CustomClass { public void DoIt() { CustomStruct cs = new CustomStruct(); int i = 0; NewMethod(ref cs, ref i); } private static void NewMethod(ref CustomStruct cs, ref int i) => i += cs.Bump; }
如果 [不要在自訂結構上放置 ref 及 out] 選項已核取,則「擷取方法」功能會產生下列項目:
public class CustomClass { public void DoIt() { CustomStruct cs = new CustomStruct(); int i = 0; i = NewMethod(cs, i); } private static int NewMethod(CustomStruct cs, int i) { i += cs.Bump; return i; } }
內嵌提示
內嵌參數名稱提示
選取時,在函式呼叫中的每個引數之前插入常值、轉換常值與物件具現化的參數名稱提示。
內嵌類型提示
選取時,插入具有推斷類型與 Lambda 參數類型之變數的類型提示。
繼承邊界
選取時,將圖示新增至代表程式碼實作和覆寫的邊界。 按一下繼承邊界圖示會顯示您可以選取以瀏覽的繼承選項。