分享方式:


在程式碼編輯器中使用 DataTips 檢視和變更變數值

本文探討如何使用 Visual Studio 中的 DataTips 功能。 資料提示提供一個很方便的方法,來查看您在偵錯程式碼時程式中變數的資訊。 當您在程式碼中設置中斷點並開始偵錯時,資料提示會在變數進入目前執行範圍時顯示。 您可以使用資料提示來更改範圍內變數的值,然後重新執行程式碼並經過中斷點,以查看更改的效果。

Visual Studio 偵錯工作階段的螢幕擷取畫面,顯示範圍內變數的資料提示範例。

提示

如果您不熟悉偵錯程式碼,建議您先閱讀適合完全初學者的偵錯偵錯技術和工具,然後再閱讀本文。

必要條件

  • Visual Studio。 如果您沒有 Visual Studio,請前往 Visual Studio 下載頁面免費進行安裝。

  • 要在 Visual Studio 偵錯工具中執行的一些程式碼。

使用資料提示

當您在程式碼中設定了中斷點時,資料提示會在偵錯工具的工作階段中顯示。 當偵錯工具在中斷點暫停程式執行時,目前範圍內的任何變數都可以顯示資料提示。

程序如下:

  1. 在您的程式碼中設置中斷點,然後透過選擇 [偵錯]>[開始偵錯],或使用 F5 鍵盤快捷鍵來開始偵錯。

  2. 當偵錯工具在中斷點暫停執行時,將滑鼠懸停在目前範圍內的任何變數上以打開資料提示。

  3. 使用資料提示查看變數名稱並處理其值。

  4. 根據需要更改變數的值或新增註解。

注意

Visual Studio 會根據偵錯工具在執行時暫停的位置進行評估,並在資料提示中顯示變數的值。 並不是根據目前滑鼠指標或資料提示的位置進行評估。 如果您將游標停留在另一個函式的變數上,而該變數的名稱與目前內容中變數的名稱相同,則 Visual Studio 會在資料提示中顯示目前內容中該變數的值。

Visual Studio 支援許多資料提示的動作以及變數和值的處理,包括:

  • 釘選或浮動資料提示,以便在程式碼執行過程中保持其可見。
  • 啟用黏性資料提示,使其保持展開狀態,直到您在其他地方進行選擇。
  • 展開資料提示以查看陣列、結構或物件的成員,以樹狀格式顯示。
  • 變更資料提示中變數的值
  • 為釘選的資料提示新增多行註解,以便在偵錯過程中記錄。
  • 匯入和匯出資料提示

讓資料提示變透明

當您將滑鼠懸停在變數上以查看資料提示時,您可以使資料提示變透明,以便查看下面的程式碼。 此動作還會啟用程式碼編輯器中其他提示動作的透明度,例如方法定義和運算式語法。

若啟用透明度,請按照以下步驟操作:

  1. 在 Visual Studio Code 程式碼編輯器中,選取資料提示內的內容,然後按住 Ctrl 鍵。

  2. 若要保持透明度,請繼續按住 Ctrl。

  3. 若要結束透明度,停止按住 Ctrl 鍵或選取其他地方。

釘選或浮動的資料提示無法啟用透明度。

讓資料提示維持展開

在 Visual Studio 2022 Update 1 及後續版本中,當您展開資料提示時,可以將其維持展開,直到您選取其他地方為止。 此動作會產生黏性資料提示。

要使資料提示變為黏性,請按照以下步驟操作:

  1. 在 Visual Studio 中,選取 [偵錯]>[選項] 以打開 [選項] 對話方塊。

  2. [一般] 索引標籤中,捲動以找出 [保持展開的資料提示開啟,直到點擊離開] 選項。

  3. 選取核取方塊以啟用黏性選項,然後選取 [確定]

當黏性選項啟用後,如果您在程式碼編輯器中展開任何資料提示,它將保持展開狀態。

釘選資料提示

您可以釘選資料提示,以使其保持在程式碼編輯器界面上打開。 您也可以變更釘選資料提示的位置。

若要釘選資料提示,請按照以下步驟操作:

  1. 在 Visual Studio Code 編輯器中,將滑鼠懸停在變數上以顯示資料提示。

  2. 在資料提示中,使用圖釘選擇 [釘選至來源]

    顯示如何釘選資料提示並將其移動到程式碼編輯器介面上任何位置的螢幕擷取畫面。

    Visual Studio 將資料提示釘選到變數附近的程式碼介面上。 在程式碼編輯器的邊欄中,釘選資料提示的行旁邊會出現一個圖釘。

  3. 選取並拖曳釘選的資料提示到程式碼編輯器介面上的任何位置。

浮動 (取消釘選) 資料提示

在您釘選資料提示後,可以取消釘選該資料提示並使其浮動。 浮動資料提示可以放置在 Visual Studio IDE 中的任何位置。

若要使資料提示浮動,請按照以下步驟操作:

  1. 在釘選的資料提示中,使用圖釘選擇 [從來源取消釘選]

    Visual Studio 會取消釘選資料提示,並將資料提示設置為實心背景色。 資料提示的圖釘會變更為未釘選狀態,並且程式碼編輯器邊欄中的圖釘會被移除。

    顯示如何在 Visual Studio IDE 中將資料提示浮動到任何位置的螢幕擷取畫面。

  2. 選取並拖曳浮動的資料提示到 Visual Studio IDE 中的任何位置。

    如果您將浮動的資料提示放置在程式碼編輯器介面之外,資料提示側邊功能表中的圖釘會被移除。 [釘選至來源] 選項僅在浮動的資料提示放置在程式碼編輯器介面上時可用。

重新釘選資料提示

在您使資料提示浮動後,可以將其重新釘選到程式碼編輯器介面上的特定來源位置。

若要重新釘選浮動的資料提示,請按照以下步驟操作:

  1. 選取並移動浮動的資料提示,並將其放置在程式碼編輯器介面上。

  2. 在浮動資料提示中,使用圖釘選擇 [釘選至來源]

    圖釘會變更為釘選狀態。 資料提示被重新釘選到程式碼編輯器中的特定位置,並且程式碼編輯器的邊欄中會顯示來源的圖釘。

關閉資料提示

您可以使用多種方法來關閉 Visual Studio 中的資料提示。

當您結束偵錯工作階段時,如果有任何開啟的資料提示,Visual Studio 會為您關閉它們。 如果您啟動另一個偵錯工作階段,Visual Studio 會嘗試重新建立您先前開啟的任何資料提示。

下表總結了如何手動關閉資料提示的方法:

關閉目標 動作
特定資料提示 選取資料提示中的 [X]
特定檔案的所有資料提示 在 Visual Studio 工具列上,選擇 [偵錯]>[清除所有釘選至下列的 DataTips]<[檔案名稱]>
所有開啟的資料提示 選取 Visual Studio 工具列上的 [偵錯]>[清除所有 DataTips]

在資料提示中使用變數和值

當您在 Visual Studio 中使用 DataTips 時,您可以查看變數和物件的詳細資料,並在偵錯期間編輯值。 這些功能對於快速疑難排解和測試程式碼的變更很有用。

展開資料提示中的物件以檢視成員

當資料提示代表陣列、結構或物件時,您可以展開資料提示檢視來查看成員。 展開的檢視會以階層樹狀格式顯示額外資訊。

若要展開資料提示中物件的檢視,請按照以下步驟操作:

  1. 在陣列、結構或物件的資料提示中,選擇項目名稱前的展開箭頭以顯示成員。 檢視會以樹狀格式呈現:

    顯示如何在資料提示中選擇物件展開箭頭的螢幕擷取畫面。

    針對已釘選的資料提示,選取變數名稱之前的加號符號 (+),以展開定義。

  2. 繼續選取展開箭號,以查看更多成員階層:

    顯示如何繼續展開物件樹狀結構以顯示成員樹狀結構的螢幕擷取畫面。

  3. 使用滑鼠或鍵盤上的上下方向鍵,在展開的檢視中上下移動。

  4. 若要將展開的成員與原始釘選的資料提示一起釘選,請使用成員上的圖釘選擇 [釘選至來源]。 在您折疊樹狀檢視後,任何已釘選的成員元素都會隨著釘選的資料提示保持可見。

編輯變數值

使用資料提示的另一個優勢是能夠在偵錯過程中編輯資料提示中的變數或元素的值。 這個功能對於快速測試程式碼的稍微變更非常有用。

若要編輯資料提示中變數或元素的值,請按照以下步驟操作:

  1. 在資料提示中,選取該值。 Visual Studio 會醒目顯示該值,並使其可供編輯。

  2. 在資料提示中輸入新值,然後按下 Enter 鍵。

請記住,有些變數的值是唯讀的。 Visual Studio 不允許編輯唯讀值。

在資料提示中使用註解

資料提示中的註解區域對於在偵錯程式碼時記錄變數的備註非常有用。 此區域很方便,可追蹤偵錯期間變更的不同值。 您可以在釘選或浮動的資料提示中新增註解。

若要在資料提示中使用註解 ,請按照以下步驟操作:

  1. 在資料提示中,使用雙向下箭頭選擇 [展開以查看註解]。 雙向下箭頭會打開資料提示中的註解區域,您可以在此新增備註。

  2. 若要新增註解,請將游標插入註解區域並輸入文字。 該區域接受多行文字。

    顯示如何在資料提示中輸入註解的螢幕擷取畫面。

  3. 若要關閉註解區域,使用雙向上箭頭選擇 [摺疊註解]。 您輸入的任何註解都會保留在資料提示中,但目前不可見。

在資料提示中釘選屬性

Visual Studio 支援在 .NET Core 3.0 及以後續版本的釘選資料提示中釘選屬性。 此功能可讓您透過資料提示快速檢查物件的屬性。

若要在資料提示中釘選屬性,請遵循下列步驟:

  1. 在釘選的資料提示中,展開成員階層,直到您看到想要與資料提示一起保持可見的屬性為止。

  2. 使用該屬性的圖釘,將其與資料提示釘選在一起。 您也可以右鍵點擊該屬性,然後選擇 [將成員釘選為常用]

    Visual Studio 會將所選的屬性移至物件屬性清單的頂端。 屬性名稱和值會顯示在釘選資料提示的右側欄位中:

    顯示如何在資料提示中釘選屬性的螢幕擷取畫面。

  3. 若要取消釘選資料提示中的屬性,請再次選擇該屬性的圖釘,或右鍵點擊該屬性,然後選擇 [將成員從常用取消釘選]

您還可以切換屬性名稱的可見性,並篩選物件屬性清單中的未釘選屬性:

  • 要篩選掉未釘選的屬性,請以右鍵點擊資料提示中的屬性列,然後選擇 [僅顯示釘選成員]

  • 若要切換屬性名稱的可見性,請以右鍵點擊資料提示中的屬性列,然後選擇 [在值中隱藏釘選成員名稱]

下圖顯示了資料提示中成員階層的右鍵功能表上的各種選項:

包含 [將成員從常用取消釘] 和 [僅顯示釘選成員] 選項的資料提示中成員的右鍵功能表螢幕擷取畫面。

取得 AI 協助

如果您具有 Copilot,可以在查看資料提示中的變數時取得 AI 協助。 以滑鼠右鍵按一下變數,然而使用 [詢問 Copilot[詢問 Copilot] 按鈕的螢幕擷取畫面。] 按鈕。 在這個案例中,Copilot 已知道問題的內容,因此您不需要自行在聊天中提供內容。 如需詳細資訊,請參閱使用 Copilot 進行偵錯

視覺化處理複雜資料類型

視覺化工具會以較有意義,且有時是圖形化的方式顯示資訊。 視覺化工具的範例包括 XML、HTML、JSON 和文字視覺化工具。 您可以使用視覺化工具在偵錯過程中檢查程式碼中的複雜資料類型。

如果有視覺化工具可用於某個元素,Visual Studio 會在資料提示中元素名稱旁顯示 [檢視] 放大鏡圖示。 當您選擇視覺效果時,Visual Studio 會打開一個單獨的視窗,以可讀的格式顯示複雜的資料。

您可以使用此功能來選擇資料的視覺效果:

  • 若要使用預設的視覺化工具來查看元素,請選擇放大鏡圖示。 視覺化檢視圖示

  • 若要選擇特定的視覺化工具,請展開放大鏡旁的 [檢視] 下拉式清單,然後選擇一個選項。

將變數新增至 [監視] 視窗。

您可以從資料提示將變數新增到 Visual Studio 的 [監視] 視窗中,以繼續監視變數。

  • 在資料提示中,以右鍵點擊變數名稱,然後選擇 [新增監視]

Visual Studio 會將變數新增到 [監視] 視窗中。 如果您的 Visual Studio 版本支援多個 [監視] 視窗,該變數將出現在標記為 [監視 1] 的視窗中。

匯入和匯出資料提示

您可以將資料提示匯出至 XML 檔案,然後使用文字編輯器共用或編輯該檔案。 您還可以從收到的或之前編輯的 XML 檔案中匯入資料提示。

若要匯出資料提示,請按照下列步驟操作:

  1. 在 Visual Studio 中,選取 [偵錯]>[匯出 DataTips][匯出 DataTips] 對話方塊隨即開啟。

  2. 在對話方塊中,瀏覽至要儲存 XML 檔案的位置。

  3. 輸入匯出檔案的名稱,然後選取儲存

Visual Studio 會將資料提示匯出到指定的檔案和位置。

若要從檔案匯入資料提示,請依照下列步驟操作:

  1. 在 Visual Studio 中,選取 [偵錯]>[匯入 DataTips][匯入 DataTips] 對話方塊隨即開啟。

  2. 在對話方塊中,瀏覽至用於匯入的資料提示 XML 檔案的位置。

  3. 選取要開啟的檔案,然後選擇 [開啟]

Visual Studio 會將資料提示從指定檔案匯入到目前的工作區。 當您偵錯工作區程式碼時,可以使用匯入的資料提示。