共用方式為


利用 Code Map 以視覺化方式了解、巡覽和偵錯程式碼

您可以將關聯性是與 Visual Studio Ultimate 的程式碼。 當您建立程式碼對應時,它們在程式碼編輯器旁邊。 這可讓您專注於工作,因為您可以看到您的程式碼的位置中,當您工作時。

Code Map - 對應程式碼中的關聯性

程式碼對應顯示關聯性程式碼並在程式碼編輯器旁邊。 一個綠色箭號會顯示在程式碼的游標的位置。 您在對應可以注意事項,例如在紙張。

程式碼對應有助於避免取得遺漏用大型程式碼基底、不熟悉的程式碼或舊版程式碼。 例如,在中,當您偵錯時,您可能必須出現在多個檔案和專案的程式碼。 程式碼對應可協助您在這些程式碼的前後巡覽並查看它們之間的關聯性。 您不需要記住所有這段程式碼,記錄檔或繪製個別的捲動對應。 如果您必須中斷工作,程式碼對應協助整理有關您工作的程式碼的記憶體。

監看式執行中的程式碼對應: 與程式碼對應 (通道 9) 了解複雜的程式碼

需求

  • Visual Studio 這些版本 2012.1 和之一:

    • Visual Studio 2012 建立程式碼對應的 Ultimate 從程式碼編輯器或從方案總管。

      注意事項注意事項

      在您使用 Premium 或 Professional 的人共用的對應,請確定對應中的所有項目都是可見的,例如隱藏項目,展開的群組和跨群組連結。

    • Visual Studio 2012 Premium 或 Visual Studio 2012 是型別程式碼對應的 Professional,進行有限的編輯,並巡覽程式碼。

  • 使用 Visual C# .NET 或 Visual Basic .NET 程式碼的方案。

了解問題

假設您處理的繪圖程式的 Bug。 若要重現 Bug,您會在 Visual Studio Ultimate 的方案並按 [F5] 開始偵錯。

當您繪製線條和選取 [取消我的最後一個筆劃] 時,就不會發生任何動作,直到您繪製下一行。

Code Map - 重新產生 Bug

因此您開始調查藉由搜尋 Undo 方法。 您會發現在 PaintCanvas 類別。

Code Map - 尋找程式碼

開始將程式碼

現在您開始對應 undo 方法及其關聯性。 在程式碼編輯器中,您將 undo 方法及其參考至新的程式碼對應的欄位。 當您建立新的對應時,可能需要一些時間的程式碼。 這說明最新作業的速度。

Code Map - 顯示方法和相關欄位

提示

反白顯示的綠色加入對應的最後一個項目。綠色箭號會顯示在程式碼的游標的位置。在項目之間的箭號代表不同的關聯性。您可以藉由檢查其工具提示取得有關項目之詳細資訊的對應。

Code Map - 顯示工具提示

從對應的巡覽和檢查程式碼

針對每個欄位顯示程式碼定義,按兩下欄位對應或選取欄位並按 [F12]。 綠色箭號移到對應中的項目。 您可在程式碼編輯器的游標會自動移動。

Code Map - 檢查欄位定義

Code Map - 檢查欄位定義

提示

您可以將在程式碼編輯器的游標來移動對應中的綠色箭號。

了解程式碼的之間的關聯性。

現在您要知道哪些其他程式碼與 history 和 paintObjects 欄位互動。 您可以將參考這些欄位對應的所有方法。 您可以從對應或程式碼。

Code Map - 尋找所有參考

變更配置重新整理關聯性流程和使對應更容易閱讀。 您可以在對應附近也移動項目可以拖曳。

Code Map - 變更版面配置

提示

根據預設,開啟 [將配置] 。這會盡可能減少重新整理對應,當您加入新項目的項目。重新整理整個對應,在加入新項目,請關閉 [將配置] 時。

Code Map - 變更版面配置

我們檢查這些方法。 在對應,請按兩下 [PaintCanvas] 方法或選取此方法並按 [F12]。 您了解這個方法會建立 history 和 paintObjects 為空白清單。

Code Map - 檢查方法定義

現在請重複相同步驟檢查 clear 方法定義。 您了解 clear 執行某些工作與 paintObjects 和 history。 然後它會呼叫 Repaint 方法。

Code Map - 檢查方法定義

現在請檢查 addPaintObject 方法定義。 它也會執行某些工作與 history 和 paintObjects。 它也會呼叫 Repaint。

Code Map - 檢查方法定義

藉由檢查對應發現問題

看起來修改 history 和 paintObjects 呼叫 Repaint的方法。 undo ,方法不會呼叫,則為 Repaint,即使 undo 變更相同的欄位。 因此您認為您可以從 undo呼叫的 Repaint 解決這個問題。

Code Map - 尋找遺漏的方法呼叫

如果您並未顯示新的對應您遺漏這個呼叫,找出問題,特別是的更複雜的程式碼可能難以。

將您的探索和下列步驟。

在您或其他人之前修正此 Bug,您可以在相關問題的導覽可以將備註和如何修正錯誤。

Code Map - 為項目加上註解和旗標以便後續追蹤

例如,使用色彩,您可以將註解加入至對應和旗標項目。

Code Map - 加上註解和旗標的項目

如果您有 Microsoft Outlook 安裝,您可以透過電子郵件對應到其他。 您也可以匯出對應為影像或其他格式。

Code Map - 共用、匯出、寄送郵件

解決這個問題並顯示您

若要修正這個 Bug,您將會呼叫的 Repaint 加入至 undo。

Code Map - 加入遺漏的方法呼叫

若要確認您的修正,您重新啟動偵錯工作階段並嘗試重現 Bug。 現在選取 [取消我的最後一個筆劃] 運作,當您預期並確認您已正確固定。

Code Map - 確認程式碼修正

您可以更新對應會顯示您所做的修正。

Code Map - 使用遺漏的方法呼叫來更新對應

您的對應現在會顯示 [復原] 和 [重繪。] 之間的連結。

Code Map - 已更新且包含方法呼叫的對應

注意事項注意事項

當您更新對應時,可能會看到所用的程式碼建立索引的訊息您的對應更新。這表示有人變更程式碼,讓您的對應不符合目前的程式碼。這會更新對應不停止您,不過,您可能必須重新建立對應確認它符合的程式碼。

現在您對您的調查。 您可以將程式碼已成功找到並解決了這個問題。 您也可以協助您在程式碼內巡覽,記住的對應所平台數學和展示步驟採取修正這個問題。

請參閱

概念

顯現程式碼內容及其關聯性使其更容易理解