Visual Studio 2013 關於程式碼品質和診斷工具的新功能 (CodeLens, Code Map, IntelliTrace, Memory Dump Analysis)


註: 內文提及Visual Studio Ultimate已於 2015/3月改名為 Visual Studio Enterprise

Visual Studio 2013 中關於程式碼品質和診斷工具的新功能

很多開發人員在問,如何寫更好品質的程式碼呢? Visual Studio 2013 已內建了一些品質及診斷工具,讓你寫碼、除錯及診斷問題更容易,幫你省下一些時間,也提高了程式碼的品質! 包括以下實用新功能:

1. CodeLens – 編輯器中的抬頭顯示器

 
為什麼說 CodeLens 這功能是程式碼編輯器中的抬頭顯示器呢? 就好比開車時,有個時速資訊顯示在前檔玻璃上,稱為抬頭顯示器,因駕駛的視線通常是在前方路況,若是低頭看儀表板才知道時速,除了不方便外也容易分心。當你在 Visual Studio Ultimate 中使用 CodeLens 時,不需要離開編輯器,即可找到有關程式碼的資訊。 例如,您可以找到參考、連結的 Team Foundation Server (TFS) 項目,例如這些程式碼與哪些工作單或 Bug 單有關、和單元測試的執行結果 – 全部在編輯器上,你就無需切換許多視窗及介面,可以專心在開發工作上並省下許多時間。
CodeLens - 連絡您的小組 
這個功能很實用,可以一目了然專案中模組之間的關連,尤其是剛接手別人的程式碼,或是維護他人的程式,藉由在 Visual Studio Ultimate 中建立程式碼地圖,來視覺化和巡覽你的程式碼關聯性。另外也可用來當偵錯的工具,您也可以在偵錯時將呼叫堆疊視覺化,如此才容易理解目前已跳到哪裏了,幫助你偵錯更輕鬆。
使用 Code Map 上的堆疊呼叫來偵錯

 在 Visual Studio 中利用 Code Map 視覺化和了解程式碼以視覺化方式在 Visual Studio 中使用呼叫堆疊偵錯程式碼執行狀況

 
3 – .NET Framework 記憶體分析與傾印檔案 – 快速解決 memory leak 問題
 

這用來抓出 memory leak (記憶體遺漏) 的問題很有幫助! 尤其當你的.NET 應用程式已經執行於上線環境, 可能同時影響應用程式和整個電腦的記憶體使用量問題。 Visual Studio 2013 加強了傾印檔案分析 (memory dump analysis) 工具,協助您尋找 .NET Framework的 Web、資料庫和桌面應用程式中的記憶體遺漏、沒有效率的記憶體使用和不必要的設定。如這篇文章 (英文)。 如需傾印檔案的詳細資訊,請參閱在 Visual Studio 中使用傾印檔案偵錯應用程式當機和停止回應的問題

 
4. IntelliTrace 智慧偵錯 – 可追蹤上線環境系統問題,除錯時可追到哪一行程式碼出了問題
 
這是 VS 2010 Ultimate 版本就有的功能,但在 VS 2013 又加強了可以偵錯上線環境的問題,若是一個重要系統,上線環境很難為了除錯一個問題而全面停機,可利用 IntelliTrace 收集伺服器端事件,在 VS 2013 中打開,就可以偵錯到問題出在哪,甚至找出問題的程式碼,減少了除錯的時間。尤其是上線系統效能問題,若要找到是哪些程式碼導致效能不佳,這功能是很實用的。以下是 VS 2013 Ultimate 針對 IntelliTrace 新增的功能。

新功能和支援的工作

  • 單獨使用 Microsoft Monitoring Agent 或與 System Center 2012 搭配使用,以讓本機監視 IIS Web 應用程式的例外狀況和效能事件。 您可以將這些事件記錄至 IntelliTrace 記錄檔,以便在 Visual Studio Ultimate 中進一步調查問題,並且從特定事件開始偵錯時移至部署的程式碼。

     檢視效能事件詳細資料

     了解程式呼叫 stack及執行時間,找到執行效能不佳的程式碼:

    從方法呼叫開始偵錯

     回到 Visual Studio 程式碼編輯器中,抓到就是這一行導致效能問題。

    從效能事件移至應用程式程式碼

     請參閱 使用 Visual Studio 和 Microsoft Monitoring Agent 診斷部署中的問題 和 System Center 2012 R2 Operations Manage R2 的新功能 

  • 使用 Microsoft Monitoring 代理人,來記錄自SharePoint 2013部屬的應用程式的診斷事件。

    您可以將使用者設定檔事件、統一記錄系統 (ULS) 事件和 IntelliTrace 事件儲存到 IntelliTrace 記錄檔,在 Visual Studio Ultimate 中進一步調查問題,並且使用 IntelliTrace 從特定事件開始偵錯。

     IntelliTrace 記錄檔 - 檢視 Web 要求 + 事件

     使用 Visual Studio 和 Microsoft Monitoring Agent 診斷部署中的問題

 
 
5. 單元測試的改進
 
單元測試是 Visual Studio 很基本的測試功能,但在 VS 2013 中也有許多加強,如下:
 

新功能和支援的區域

當您在 Visual Studio Ultimate 使用 CodeLens 事前顯示時,能在不離開編輯的狀態下找到單元測試和其狀態

  • 檢閱並執行特定程式碼的單元測試。

     CodeLens - 在 [程式碼編輯器] 中選擇測試狀態

     從變更記錄中尋找單元測試的定義並取得差異。

  •  CodeLens - 檢視單元測試變更集差異

     使用 CodeLens 在編輯器中尋找程式碼的相關資訊

用播放列表來建立並儲存測試設定 –

您可以建立和儲存您要以群組執行或檢視的測試清單。 當您選取某個播放清單時,清單中的測試顯示為測試總管。 您可以將在測試中加入一個以上的播放清單,當您選擇預設的 [所有測試] 播放清單時,就可以使用專案中的所有測試。 參閱建立自訂播放清單

增強型的篩選和分組的測試在測試總管中。

提供可讓您更輕鬆地在測試總管的新標準下組織和執行單元測試,請參閱 群組和篩選測試清單 。

 
Comments (0)

Skip to main content