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

本文介绍如何在 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 工具栏上选择“调试”>“清除固定到<文件名>的所有数据提示”。
所有打开的数据提示 在 Visual Studio 工具栏上选择“调试”>“清除所有数据提示”。

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

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

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

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

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

  1. 在数组、结构或对象的数据提示中,选择项名称前的展开箭头以显示成员。 视图以树格式显示:

    显示如何在数据提示中为某对象选择展开箭头的屏幕截图。

    对于固定的数据提示,请选择变量名称之前的加号 (+) 以展开定义。

  2. 继续选择展开箭头以查看更多成员层次结构:

    显示如何继续展开对象树以显示成员树的屏幕截图。

  3. 若要在展开的视图中上下移动,请使用鼠标或键盘向上键和向下键。

  4. 若要将展开的成员与已固定的原始数据提示固定在一起,请使用成员上的图钉选择“固定到源”。 折叠树状视图后,任何固定的成员元素仍然可见,并且附带固定的数据提示。

编辑变量值

使用数据提示的另一个优点是在调试期间编辑数据提示中的变量或元素的值。 此功能可用于快速测试对代码进行小更改。

若要在数据提示中编辑变量或元素的值,请执行以下步骤:

  1. 在数据提示中,选择值。 Visual Studio 突出显示该值并使其可用于编辑。

  2. 在数据提示中输入新值,然后选择“输入”。

请记住,某些变量值为只读。 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。 随即会打开“导出数据提示”对话框。

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

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

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

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

  1. 在 Visual Studio 中,选择“调试”>“导入数据提示”。 “导入数据提示”对话框随即打开。

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

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

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