適用於 C# 開發人員的 Visual Studio 生產力指南
了解 Visual Studio 如何讓使用 C# 的 .NET 開發人員比以往更具生產力。 運用我們的效能與生產力改進,像是導覽到反編譯組件、輸入時的變數名稱建議、測試總管中的階層架構檢視、[移至全部] (Ctrl+T) 以導覽至檔案/類型/成員/符號宣告、智慧型例外狀況協助程式、程式碼樣式設定和強制執行,以及許多重構和程式碼修正。
如需 .NET、C++ 和其他語言的一般生產力,請參閱 Visual Studio 的生產力指南。 如需好用鍵盤快速鍵的詳細資訊,請參閱生產力快速鍵。 如需命令捷徑的完整清單,請參閱預設鍵盤快速鍵。
使用不同編輯器中的鍵盤快速鍵
若您原先使用其他 IDE 或編碼環境,可將鍵盤配置變更為 Visual Studio Code 或ReSharper (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+K、D (預設設定檔) 或 Ctrl+E、D (C# 設定檔) | 將文件格式化 | 根據您的新行字元、間距和縮排設定,來清除您檔案中的格式違規 |
Ctrl+\、Ctrl+E (預設設定檔) 或 Ctrl+W、E (C# 設定檔) | 檢視錯誤清單 | 查看您文件、專案或方案中的所有錯誤 |
Alt + PgUp/PgDn | 前往上一個/下一個問題 | 跳到文件中的上一個/下一個錯誤、警告、建議 |
Ctrl+K,/ | 切換單行註解/取消註解 | 此命令會根據您的選取項目是否已被註解來新增或移除單行註解 |
Ctrl+Shift+/ | 切換區塊註解/取消註解 | 此命令會根據您所選取的項目來新增或移除區塊註解 |
注意
有些擴充功能會將預設的 Visual Studio 按鍵繫結關係解除繫結。 您可以將按鍵繫結關係還原為預設值,方法是前往 [工具] > [匯入和匯出設定] > [重設所有設定] 或 [工具] > [選項] > [鍵盤] > [重設]。
如需有關鍵盤快速鍵和命令的詳細資訊,請參閱生產力快速鍵。 或者,請參閱 Visual Studio 中的鍵盤快速鍵,以取得完整的清單以及可下載的速查表。
快速巡覽至檔案或類型
Visual Studio 具有稱為移至全部的功能,可用來快速跳至任何檔案、類型、成員或符號宣告。 若要從功能表列開啟它,請選取 [編輯] > [移至] > [移至全部]。 或者,您可以使用 Ctrl+T 鍵盤快速鍵來開啟它。
在您程式碼編輯器的右上方會顯示一個小視窗。
您可以使用此功能執行以下動作:
- 變更其搜尋列的位置,或使用齒輪圖示關閉即時瀏覽預覽。
- 使用
t mytype
之類的語法來篩選結果。 - 將搜尋範圍僅限於目前的文件。
- 支援駝峰式大小寫比對。
如需移至全部的詳細資訊,請參閱使用 Go To 命令尋找程式碼。
底強制執行程式碼樣式規則
您可以使用 EditorConfig 檔案來撰寫編碼慣例,並讓它們隨著來源移動。
- 從 [方案總管] 中的新增捷徑功能表飛出視窗,選擇 [新增] > [新項目] 來將預設或 .NET 樣式的 EditorConfig 檔案新增您的專案。 然後,在 [加入新項目] 對話方塊中,搜尋 "editorconfig"。 選取其中一個 [editorconfig 檔案] 項目範本,然後選擇 [新增]。
- 在 [工具]> [選項]> [文字編輯器]> [C#]> [程式碼樣式] 中,根據您的程式碼樣式設定自動建立 .editorconfig 檔案。
適用於 Visual Studio 之 IntelliCode 的程式碼推斷功能可從現有程式碼推斷程式碼樣式。 然後它會使用已定義的程式碼樣式喜好設定來建立非空白的 EditorConfig 檔案。
直接透過編輯器設定程式碼樣式規則的嚴重性層級。 如果您沒有 .editorconfig 檔案,Visual Studio 會為您產生一個檔案。 將您的資料指標放在錯誤、警告或建議並輸入 Ctrl+.,以開啟 [快速動作與重構] 功能表。 選取 [設定或隱藏問題]。 然後選取規則,並選擇您想要為該規則設定的嚴重性層級。 此動作會以規則的新嚴重性更新現有的 EditorConfig。
請參閱 .NET 程式碼樣式規則選項文件,其中也包含完整 EditorConfig 檔案的範例。
程式碼清除
Visual Studio 透過 [程式碼清除] 功能,讓您能依需求對程式碼檔案 (包括程式碼樣式喜好設定) 進行格式化。 若要執行 [程式碼清除],請選取編輯器底部的掃帚圖示,或按 Ctrl+K,Ctrl+E。
您也可以跨整個專案或解決方案執行程式碼清除。 以滑鼠右鍵按一下 [方案總管] 中的專案或解決方案名稱,選取 [分析與程式碼清除],然後選取 [執行程式碼清除]。
除了針對空格、縮排等對檔案進行格式化之外,[程式碼清除] 也能套用選取的程式碼樣式。 系統會從 EditorConfig 檔案 (如果您針對專案有該檔案的話) 讀取您針對每個程式碼樣式的偏好設定,或是從 [選項] 對話方塊中的程式碼樣式設定讀取那些偏好設定。
重構和程式碼修正
Visual Studio 提供許多重構、程式碼產生動作,以及程式碼修正。 紅色波浪線代表錯誤,綠色波浪線代表警告,而三個灰色點表示程式碼的建議。 您可以藉由選取燈泡或螺絲起子圖示,或者按 Ctrl+. 或 Alt+Enter 來存取程式碼修正。 每個修正都隨附一個預覽視窗,其中顯示修正運作方式的即時程式碼差異比對。
常用的快速修正和重構包括:
- 重新命名
- 擷取方法
- 變更方法簽章
- 產生建構函式
- 產生方法
- 將類型移到檔案
- 加入 Null 檢查
- 新增參數
- 移除不必要的 Using
- Foreach 迴圈到 LINQ 查詢或 LINQ 方法
- 向上提取成員
如需詳細資訊,請參閱程式碼產生功能。
您可以安裝 .NET 分析器來將程式碼問題加上旗標。 或,使用 Roslyn 分析器 \(英文\) 撰寫您自己的重構或程式碼修正。
數個社群成員撰寫了新增更多程式碼檢查的免費延伸模組:
尋找使用方式、移至實作及巡覽至反向編譯的組件
Visual Studio 有許多功能,可協助您搜尋和巡覽程式碼。
功能 | 捷徑 | 詳細資料/增強功能 |
---|---|---|
尋找所有參考 | Shift+F12 | 結果會以色彩標示,且可以依專案、定義和參考類型 (例如讀取或寫入) 進行分組。 您也可以「鎖定」結果。 |
移至實作 | Ctrl+F12 | 您可以在 override 關鍵字上使用 [移至定義] 來瀏覽至覆寫的成員 |
移至定義 | F12 或 Ctrl+按一下滑鼠左鍵 | 在按一下的同時按 Ctrl 來巡覽至定義 |
查看定義 | Alt+F12 | 定義的內嵌檢視 |
結構視覺化檢視 | 大括號之間的灰色虛線 | 暫留以查看您的程式碼架構 |
巡覽至反向編譯的組件 | F12 或 Ctrl+按一下滑鼠左鍵 | 透過啟用下列功能以巡覽至外部來源 (使用 ILSpy 進行反編譯):[工具]>[選項]>[文字編輯器]>[C#]>[進階]>[啟用巡覽至反向編譯的原始碼]。 |
改良的 IntelliSense
使用適用於 Visual Studio 的 IntelliCode 來取得內容感知程式碼完成,而非單純的字母順序清單。
單元測試
我們對測試體驗進行了許多改進。 您可以使用 MSTest (MSTest v1 或 MSTest v2)、NUnit 和 XUnit 測試架構來測試。
[測試總管] 測試探索速度很快。
使用「階層排序」來組織 [測試總管] 中的測試。
- Live Unit Testing 會持續執行程式碼變更所影響的測試,並更新內嵌編輯器圖示,讓您知道測試的狀態。 包含或排除即時測試集合中的特定測試或測試專案。 (僅限Visual Studio Enterprise 版。)
如需詳細資訊,請參閱單元測試基本概念。
偵錯
Visual Studio 包含下列偵錯功能:
- 能夠在 [監看式]、[自動變數] 及 [區域變數] 視窗內搜尋字串。
- 「執行至點選處」可讓您在一行程式碼旁暫留、點擊顯示的綠色 [播放] 圖示,並執行程式直到該行為止。
- 例外狀況協助程式,其會將最重要的資訊放置在對話方塊的最上層,例如當
NullReferenceException
中的變數為null
時。 - 倒退偵錯可讓您回溯到前面的中斷點或步驟,以檢視應用程式過去的狀態。
- 快照集偵錯可讓您調查即時 Web 應用程式在例外狀況擲回時的狀態 (必須在 Azure 上)。
版本控制
在 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,便可建立、檢閱、簽出及執行提取要求。
在 Team Explorer 中組織本機變更,並使用狀態列來追蹤暫止的認可和變更。
透過適用於 Visual Studio 的持續傳遞工具 \(英文\) 延伸模組,在 Visual Studio 中針對您的 ASP.NET 專案設定持續整合和傳遞。
我還應該知道哪些其他功能?
以下是編輯器和生產力功能的清單,可讓撰寫程式碼更有效率。 某些功能可能需要啟用,因為它們預設為關閉。
功能 | 詳細資料 | 如何啟用 |
---|---|---|
在 [方案總管] 中尋找檔案 | 在 [方案總管] 中反白顯示使用中的檔案 | [工具]>[選項]>[專案和解決方案]>[在方案總管中追蹤使用中的項目] |
針對參考組件與 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 版和更新版本。 |