適用於 C# 開發人員的 Visual Studio 生產力指南

了解 Visual Studio 如何讓使用 C#.NET 開發人員比以往更具生產力。 運用我們的效能與生產力改進,像是導覽到反編譯組件、輸入時的變數名稱建議、測試總管中的階層架構檢視、[移至全部] (Ctrl+T) 以導覽至檔案/類型/成員/符號宣告、智慧型例外狀況協助程式、程式碼樣式設定和強制執行,以及許多重構和程式碼修正。

如需 .NET、C++ 和其他語言的一般生產力,請參閱 Visual Studio 的生產力指南。 如需好用鍵盤快速鍵的詳細資訊,請參閱生產力快速鍵。 如需命令捷徑的完整清單,請參閱預設鍵盤快速鍵

使用不同編輯器中的鍵盤快速鍵

若您原先使用其他 IDE 或編碼環境,可將鍵盤配置變更為 Visual Studio CodeReSharper (Visual Studio)

Screenshot of the keyboard schemes in Visual Studio 2022.

Keyboard Schemes in Visual Studio

有些延伸模組也提供鍵盤配置:

以下是常用的 Visual Studio 快速鍵:

快速鍵 (所有設定檔) Command 描述
Ctrl+T 移至全部 巡覽至任何檔案、類型、成員或符號宣告
F12 (以及 Ctrl+按一下滑鼠左鍵) 移至定義 巡覽至定義符號的位置
Ctrl+F12 移至實作 從基底類型或成員巡覽至其各種實作
Shift+F12 尋找所有參考 查看所有符號或常值參考
Alt+Home 移至基底 瀏覽繼承鏈結
Ctrl+. (在 C# 設定檔中也可以使用 Alt+Enter) 快速動作與重構 查看您游標位置或選取的程式碼有哪些程式碼修正、程式碼產生動作、重構或其他快速動作可供使用
Ctrl+D 重複行 複製游標所在的程式碼
Shift+Alt++/- 展開/折疊選取項目 在編輯器中展開或收合目前的選取範圍
Shift + Alt + . 插入下一個相符的插入點 在符合目前選取範圍的下一個位置,新增選取範圍和插入號
Ctrl+Q 搜尋 搜尋所有 Visual Studio 設定
F5 [偵錯] 開始偵錯應用程式
Ctrl+F5 執行而不偵錯 在本機執行應用程式而不偵錯
Ctrl+KD (預設設定檔) 或 Ctrl+ED (C# 設定檔) 將文件格式化 根據您的新行字元、間距和縮排設定,來清除您檔案中的格式違規
Ctrl+\Ctrl+E (預設設定檔) 或 Ctrl+WE (C# 設定檔) 檢視錯誤清單 查看您文件、專案或方案中的所有錯誤
Alt + PgUp/PgDn 前往上一個/下一個問題 跳到文件中的上一個/下一個錯誤、警告、建議
Ctrl+K/ 切換單行註解/取消註解 此命令會根據您的選取項目是否已被註解來新增或移除單行註解
Ctrl+Shift+/ 切換區塊註解/取消註解 此命令會根據您所選取的項目來新增或移除區塊註解

注意

有些擴充功能會將預設的 Visual Studio 按鍵繫結關係解除繫結。 您可以將按鍵繫結關係還原為預設值,方法是前往 [工具]> [匯入和匯出設定]> [重設所有設定] 或 [工具]> [選項]> [鍵盤]> [重設]

如需有關鍵盤快速鍵和命令的詳細資訊,請參閱生產力快速鍵。 或者,請參閱 Visual Studio 中的鍵盤快速鍵,以取得完整的清單以及可下載的速查表。

Visual Studio 具有稱為移至全部的功能,可用來快速跳至任何檔案、類型、成員或符號宣告。 若要從功能表列開啟它,請選取 [編輯]> [移至]> [移至全部]。 或者,您可以使用 Ctrl+T 鍵盤快速鍵來開啟它。

在您程式碼編輯器的右上方會顯示一個小視窗。

Screenshot of the Go To All window in Visual Studio.

Screenshot of the Go To All window.

您可以使用此功能執行以下動作:

  • 變更其搜尋列的位置,或使用齒輪圖示關閉即時瀏覽預覽。
  • 使用 t mytype 之類的語法來篩選結果。
  • 將搜尋範圍僅限於目前的文件。
  • 支援駝峰式大小寫比對。

如需移至全部的詳細資訊,請參閱使用 Go To 命令尋找程式碼

底強制執行程式碼樣式規則

您可以使用 EditorConfig 檔案來撰寫編碼慣例,並讓它們隨著來源移動。

Code style enforcement in Visual Studio

  • 從 [方案總管] 中的新增捷徑功能表飛出視窗,選擇 [新增]> [新項目] 來將預設或 .NET 樣式的 EditorConfig 檔案新增您的專案。 然後,在 [加入新項目] 對話方塊中,搜尋 "editorconfig"。 選取其中一個 [editorconfig 檔案] 項目範本,然後選擇 [新增]

Screenshot of the EditorConfig file templates for C# in Visual Studio.

Screenshot of the EditorConfig item templates in Visual Studio.

  • 在 [工具]> [選項]> [文字編輯器]> [C#]> [程式碼樣式] 中,根據您的程式碼樣式設定自動建立 .editorconfig 檔案。

Screenshot that shows how to generate an .editorconfig file from settings in Visual Studio.

Screenshot that shows how to generate an .editorconfig file from Visual Studio settings.

  • 適用於 Visual Studio 之 IntelliCode程式碼推斷功能可從現有程式碼推斷程式碼樣式。 然後它會使用已定義的程式碼樣式喜好設定來建立非空白的 EditorConfig 檔案。

  • 直接透過編輯器設定程式碼樣式規則的嚴重性層級。 如果您沒有 .editorconfig 檔案,Visual Studio 會為您產生一個檔案。 將您的資料指標放在錯誤、警告或建議並輸入 Ctrl+.,以開啟 [快速動作與重構] 功能表。 選取 [設定或隱藏問題]。 然後選取規則,並選擇您想要為該規則設定的嚴重性層級。 此動作會以規則的新嚴重性更新現有的 EditorConfig。

Screenshot of how to configure the severity of a code style rule from within the editor.

Configure the severity level of a code style rule directly in the editor

請參閱 .NET 程式碼樣式規則選項文件,其中也包含完整 EditorConfig 檔案的範例。

程式碼清除

Visual Studio 透過 [程式碼清除] 功能,讓您能依需求對程式碼檔案 (包括程式碼樣式喜好設定) 進行格式化。 若要執行 [程式碼清除],請選取編輯器底部的掃帚圖示,或按 Ctrl+KCtrl+E

Screenshot of the Code Cleanup button and options.

Screenshot of Code Cleanup button.

您也可以跨整個專案或解決方案執行程式碼清除。 以滑鼠右鍵按一下 [方案總管] 中的專案或解決方案名稱,選取 [分析與程式碼清除],然後選取 [執行程式碼清除]

Screenshot of how to run Analyze and Code Cleanup across an entire project or solution.

Screenshot of how to run Code Cleanup across an entire project or solution.

除了針對空格、縮排等對檔案進行格式化之外,[程式碼清除] 也能套用選取的程式碼樣式。 系統會從 EditorConfig 檔案 (如果您針對專案有該檔案的話) 讀取您針對每個程式碼樣式的偏好設定,或是從 [選項] 對話方塊中的程式碼樣式設定讀取那些偏好設定。

重構和程式碼修正

Visual Studio 提供許多重構、程式碼產生動作,以及程式碼修正。 紅色波浪線代表錯誤,綠色波浪線代表警告,而三個灰色點表示程式碼的建議。 您可以藉由選取燈泡或螺絲起子圖示,或者按 Ctrl+.Alt+Enter 來存取程式碼修正。 每個修正都隨附一個預覽視窗,其中顯示修正運作方式的即時程式碼差異比對。

常用的快速修正和重構包括:

  • 重新命名
  • 擷取方法
  • 變更方法簽章
  • 產生建構函式
  • 產生方法
  • 將類型移到檔案
  • 加入 Null 檢查
  • 新增參數
  • 移除不必要的 Using
  • Foreach 迴圈到 LINQ 查詢或 LINQ 方法
  • 向上提取成員

如需詳細資訊,請參閱程式碼產生功能

您可以安裝 .NET 分析器來將程式碼問題加上旗標。 或,使用 Roslyn 分析器 \(英文\) 撰寫您自己的重構或程式碼修正。

數個社群成員撰寫了新增更多程式碼檢查的免費延伸模組:

尋找使用方式、移至實作及巡覽至反向編譯的組件

Visual Studio 有許多功能,可協助您搜尋和巡覽程式碼

功能 捷徑 詳細資料/增強功能
尋找所有參考 Shift+F12 結果會以色彩標示,且可以依專案、定義和參考類型 (例如讀取或寫入) 進行分組。 您也可以「鎖定」結果。
移至實作 Ctrl+F12 您可以在 override 關鍵字上使用 [移至定義] 來瀏覽至覆寫的成員
移至定義 F12Ctrl+按一下滑鼠左鍵 在按一下的同時按 Ctrl 來巡覽至定義
查看定義 Alt+F12 定義的內嵌檢視
結構視覺化檢視 大括號之間的灰色虛線 暫留以查看您的程式碼架構
巡覽至反向編譯的組件 F12Ctrl+按一下滑鼠左鍵 透過啟用下列功能以巡覽至外部來源 (使用 ILSpy 進行反編譯):[工具]>[選項]>[文字編輯器]>[C#]>[進階]>[啟用巡覽至反向編譯的原始碼]

Go To All and Find All References

改良的 IntelliSense

使用適用於 Visual Studio 的 IntelliCode 來取得內容感知程式碼完成,而非單純的字母順序清單。

單元測試

我們對測試體驗進行了許多改進。 您可以使用 MSTest (MSTest v1 或 MSTest v2)、NUnitXUnit 測試架構來測試。

  • [測試總管] 測試探索速度很快。

  • 使用「階層排序」來組織 [測試總管] 中的測試。

Hierarchy view for Text Explorer in Visual Studio

  • Live Unit Testing 會持續執行程式碼變更所影響的測試,並更新內嵌編輯器圖示,讓您知道測試的狀態。 包含或排除即時測試集合中的特定測試或測試專案。 (僅限Visual Studio Enterprise 版。)

如需詳細資訊,請參閱單元測試基本概念

偵錯

Visual Studio 包含下列偵錯功能:

  • 能夠在 [監看式]、[自動變數] 及 [區域變數] 視窗內搜尋字串。
  • 「執行至點選處」可讓您在一行程式碼旁暫留、點擊顯示的綠色 [播放] 圖示,並執行程式直到該行為止。
  • 例外狀況協助程式,其會將最重要的資訊放置在對話方塊的最上層,例如當 NullReferenceException 中的變數為 null 時。
  • 倒退偵錯可讓您回溯到前面的中斷點或步驟,以檢視應用程式過去的狀態。
  • 快照集偵錯可讓您調查即時 Web 應用程式在例外狀況擲回時的狀態 (必須在 Azure 上)。

Screenshot of the Exception Helper next to a line of code.

Exception Helper in Visual Studio

版本控制

在 Visual Studio 2022 中,您可以直接從 IDE 使用 Git 來建立、檢閱、簽出和執行提取要求。 若要深入了解,請參閱 Visual Studio 如何讓使用 Git 控制版本變得輕鬆

您可以使用 Git 或 TFVC 來儲存及更新您在 Visual Studio 中的程式碼。

  • 在 Visual Studio 2019 16.8 版和更新版本中,您可以從 IDE 內直接使用 Git,建立、檢閱、簽出和執行提取要求。

  • 在 Visual Studio 2019 16.7 版和更舊版本中,安裝適用於 Visual Studio 的提取要求延伸模組,不需要離開 Visual Studio,便可建立、檢閱、簽出及執行提取要求。

我還應該知道哪些其他功能?

以下是編輯器和生產力功能的清單,可讓撰寫程式碼更有效率。 某些功能可能需要啟用,因為它們預設為關閉。

功能 詳細資料 如何啟用
在 [方案總管] 中尋找檔案 在 [方案總管] 中反白顯示使用中的檔案 [工具]>[選項]>[專案和解決方案]>[在方案總管中追蹤使用中的項目]
針對參考組件與 NuGet 套件中的型別新增 Using 顯示包含程式碼修正的錯誤燈泡,以針對未參考的型別來安裝 NuGet 套件 [工具]>[選項]>[文字編輯器]>[C#]>[進階]>[為參考組件中的類型建議 Using] 和 [為 NuGet 套件中的類型建議 Using]
啟用完整解決方案分析 請在 [錯誤清單] 中查看方案中的所有錯誤 [工具]>[選項]>[文字編輯器]>[C#]>[進階]>[啟用完整解決方案分析]
啟用巡覽至反向編譯的原始碼 允許從外部來源對類型/成員啟用 [移至定義],並使用 ILSpy 解編程式來顯示方法主體 [工具]>[選項]>[文字編輯器]>[C#]>[進階]>[啟用巡覽至反向編譯的原始碼]
完成/建議模式 變更 IntelliSense 中的完成行為。 具有 IntelliJ 背景的開發人員傾向於使用這裡的非預設設定。 [編輯]> [IntelliSense]> [切換完成模式] (或在編輯器中按 Ctrl+Alt+空格鍵)
CodeLens 在編輯器中顯示程式碼參考資訊與變更歷程記錄。 (在 Visual Studio Community 版中無法使用原始程式碼控制 CodeLens 指標。) [工具]>[選項]>[文字編輯器]>[所有語言]>[CodeLens]
程式碼片段 協助插入常用樣板程式碼作為虛設常式 鍵入程式碼片段名稱並按兩次 Tab 鍵。
貼上 JSON 或 XML 作為類別 將任何 JSON 或 XML 文字片段複製到剪貼簿,然後將其貼到任何 C# 程式碼檔案中作為強型別 .NET 類別。 [編輯]> [選擇性貼上]> [貼上 JSON 作為類別] (或 [貼上 XML 作為類別])
複製和修剪縮排 將程式碼從 Visual Studio 複製到另一個程式 (Outlook、Teams 等),而不需要在貼上程式碼之後手動修正縮排。 適用於 Visual Studio 2022 17.7 版和更新版本。