在代码编辑器中使用数据提示查看和更改变量值

本文介绍如何在 Visual Studio 中使用数据提示功能。 使用数据提示功能,可以在调试代码期间方便地查看程序中变量的有关信息。 在代码中设置断点并开始调试时,当变量进入当前执行范围时,数据提示将可见。 可以使用数据提示更改范围内变量的值,并在断点上重新运行代码以查看更改的效果。

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 工具栏上选择调试>清除固定到 <Filename> 的所有数据提示。
所有打开的数据提示 在 Visual Studio 工具栏上选择调试>清除所有数据提示

使用数据提示中的变量和值

在 Visual Studio 中使用数据提示时,可以查看有关变量和对象的详细信息,并在调试期间编辑值。 这些功能对于快速排除故障和测试代码更改非常有用。

展开数据提示中的对象以查看成员

当数据提示表示数组、结构或对象时,可以展开数据提示视图以查看成员。 展开的视图以分层树格式显示额外信息。

若要在数据提示中展开对象的视图,请执行以下步骤:

  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 版本支持多个监视窗口,则该变量将显示在标记为 Watch 1 的窗口中。

导入和导出数据提示

可以将数据提示导出到 XML 文件中,然后能将其共享给其他人,或者使用文本编辑器来对其进行编辑。 还可以从收到的或之前编辑的 XML 文件中导入数据提示。

若要导出数据提示,请执行以下步骤:

  1. 在 Visual Studio 中,选择调试>导出数据提示。 此时会打开导出数据提示对话框。

  2. 在对话框中,浏览到要保存 XML 文件的位置。

  3. 为导出文件输入名称,然后选择保存

Visual Studio 将数据提示导出到指定的文件和位置。

若要从文件导入数据提示,请执行以下步骤:

  1. 在 Visual Studio 中,选择调试>导入数据提示。 此时会打开导入数据提示对话框。

  2. 在对话框中,浏览到要用于导入的数据提示 XML 文件的位置。

  3. 选择要打开的文件,然后选择打开

Visual Studio 将数据提示从指定的文件导入到当前工作区中。 调试工作区代码时,可以使用导入的数据提示。