使用 CodeLens 查找代码更改和其他历史记录
Visual Studio CodeLens 可帮助你专注于你的工作,同时了解代码发生的情况 - 所有这些操作都无需离开交互式开发环境(IDE)代码编辑器。 可以找到对代码片段、代码更改、关联的错误、Azure DevOps 工作项、代码评审和单元测试的引用。
备注
CodeLens 在 Visual Studio 社区版中可用,但此版本中不提供 源代码管理 指示器。
CodeLens 可向你显示解决方案中代码的各个部分的位置和用法:
查看用户代码更改的详细信息,然后通过右键单击 选项发送电子邮件至 <用户>,从而无需离开代码编辑器即可与用户联系:
若要选择要查看的指示器,或打开 CodeLens,请转到 工具>选项>文本编辑器>所有语言>CodeLens。
Visual Studio 2022 中的键盘快捷方式
可通过在 Visual Studio 代码编辑器窗口中使用键盘快捷方式来获取以下部分中介绍的许多操作。
若要使用键盘选择指示器,请选择并按住 alt 键以显示相关数字键,然后选择与所需指示器对应的键盘上的数字:
注意
若要选择“评审”指示器,请在选择 Alt 的同时,使用向左键和向右键进行浏览。
查找对代码的引用
可以在 C# 或 Visual Basic 代码中找到引用。
在代码编辑器中,选择 引用 指示器或使用 Alt+2 键盘快捷方式:
注意
如果指示器显示 0 个引用,则你的 C# 或 Visual Basic 代码中没有任何引用。 但是,其他项目项(例如 .xaml 和 .aspx 文件)中可能存在引用。
若要查看引用代码,请将鼠标悬停在列表中的引用上。
若要打开包含引用的文件,请双击引用。
创建代码图
若要查看代码与其引用之间的关系,可以 创建代码图。 在“代码图”工具栏中,展开“显示相关”下拉菜单,然后选择“查找所有引用”:
在代码中查找更改
检查代码的历史记录,了解代码发生了什么情况。 或者,在将这些更改合并到你的代码中之前查看它们,这样你可以更好地了解其他分支中的更改可能影响你的代码的方式。
你需要:
Visual Studio Enterprise 或 Visual Studio Professional
Git 或 Azure DevOps Server(以前为 Team Foundation Server)或 Team Foundation 版本控制 (TFVC)
对于使用 TFVC 或 Git 存储的 C# (.cs) 或 Visual Basic(.vb) 代码,CodeLens 详细信息在文件中的类和方法级别(代码元素级 指示器)中可见:
对于除 .cs 或 .vb以外的文件类型,显示文件级别 Codelens 指示器 选项允许查看整个文件的 CodeLens 详细信息。 文件级 指示器显示在代码编辑器中的文件底部:
代码元素级别指示器
代码元素级指示器可让你查看谁更改了代码,以及更改了哪些更改。 代码元素级指示器可用于 C# 和 Visual Basic 代码。
还可以在使用 TFVC 或 Azure DevOps Services 时查看更改历史记录:
默认时间段是过去 12 个月(一年)。
若要查看所有更改的详细历史记录(包括一年多前的更改),请选择 显示所有文件更改,这将打开 历史记录 窗口。 在“历史记录” 窗口中,可以查看 Git 存储库中的所有文件,并选择代码元素级更改指示器以获取更多详细信息:
文件级别指示器
您还可以在代码编辑器窗口底部,使用文件级指示器来查找整个文件的更改。
注意
文件级指示器不适用于 C# 和 Visual Basic 文件。
若要获取有关更改的更多详细信息,请右键单击该项。 根据你使用的是 TFVC 还是 Git,有一些选项可用于比较文件版本、查看详细信息和跟踪更改集、获取所选版本的文件,以及向该更改的作者发送电子邮件。 启用后,团队资源管理器 中会显示一些详细信息;否则,详细信息将显示在 Git 更改 窗格中。 还可以在代码编辑器底部的水平滚动条上看到详细信息。
指示器显示随时间推移更改了代码的人员,这有助于你在团队的更改中找到模式并评估其影响:
从 Visual Studio 2022 版本 17.12 预览版 2 开始,可以通过使用 工具 > 选项 > 文本编辑器 > 高级>"显示文件级别 CodeLens 指示器" 选项,在代码编辑器的水平滚动条上显示或隐藏文件级别指示器。 此选项可更新在底部编辑器滚动条(如 XAML、HTML 和 CSS)中实现文件级 CodeLens 控件的文件类型的可见性。 此选项不会影响包含内联 CodeLens(C# 和 VB)的文件。
在当前分支中查找更改
你的团队可能有多个分支,例如主分支和子开发分支,以减少中断稳定代码的风险。
您可以通过选择 Alt+0 键盘快捷键,了解有多少贡献者修改了您的代码,以及主分支中的更改数量。
查找何时对你的代码进行了分支
若要了解何时对代码进行了分支,请浏览到子分支中的代码。 然后选择 更改 指示器(或选择 Alt+0):
查找来自其他分支的传入更改
可以查看传入的更改,无需离开当前分支即可查看更改。
查找何时对更改进行了合并
您可以查看更改何时被合并,从而确定您的分支中包含哪些更改。
将传入的更改与本地版本进行比较
若要将传入的更改与本地版本进行比较,请双击更改集,或选择 Shift + F10。
分支图标
Branch 列中的图标指示该分支与你当前正在工作的分支之间的关系。
图标 | 更改来源 |
---|---|
![]() |
当前分支 |
![]() |
父分支 |
![]() |
子分支 |
![]() |
对等分支 |
![]() |
比父、子或对等更进一步的分支 |
![]() |
从父分支到子分支的合并 |
![]() |
从子分支到父分支的合并 |
![]() |
来自不相关的分支的合并(无基合并) |
链接的工作项
通过选择 工作项 指示器或使用 alt +8 键盘快捷方式查找链接的工作项。
关联的代码评审
选择“评审”指示器,查找关联的代码评审。 若要使用键盘,请按住 Alt 键,然后选择 左箭头键 或 右箭头键 浏览指示器选项。
关联的 bug
通过选择 错误 指示器或使用 Alt + 7 键盘快捷方式来查找关联的错误。
联系项目的所有者
通过选择 作者 指示器 或使用 alt + 5 键盘快捷方式来查找项的作者。
还可以打开项目的快捷菜单以查看联系人选项。 (如果已安装 Teams,则可以使用其他通信选项。
关联的单元测试
可以发现 C# 或 Visual Basic 代码存在的单元测试,而无需打开 测试资源管理器。
转到具有关联的单元测试代码的应用程序代码。
根据需要生成应用程序以加载 CodeLens 测试指示器。
使用 Alt + 3 键盘快捷方式查看代码的测试。
如果看到警告图标
,则表示测试尚未运行,请运行它们。
若要查看测试的定义,请在 CodeLens 指示器窗口中双击测试项,并在编辑器中打开代码文件。
若要查看测试结果,请选择测试状态 失败 或 通过的 指示器(
或
)或使用 alt +1 键盘快捷方式。
若要查看有多少贡献者更改了此测试、是谁更改了此测试,或对此测试进行了多少次更改,请查看代码的历史记录 和链接的项目。
问与答
问:如何关闭或打开 CodeLens 或选择要查看的指示器?
A: 可以关闭或打开指示器,但引用指示器除外。 转到 工具>选项>文本编辑器>所有语言>CodeLens。
启用指示器后,还可以从指示器中打开 CodeLens 选项。 还可以使用编辑器窗口底部的 V 形图标打开和关闭 CodeLens 文件级指示器。
问:CodeLens 在哪里?
A: CodeLens 出现在方法、类、索引器和属性级别的 C# 和 Visual Basic 代码中。 对于所有其他文件类型,CodeLens 出现在文件级别。
确保已打开 CodeLens。 转到 工具>选项>文本编辑器>所有语言>CodeLens。
仅当工作项与代码链接,且您有权限打开这些链接的工作项时,Azure DevOps 相关的指示器才会出现。 确认您拥有团队成员权限。
当应用程序代码没有单元测试时,不会显示单元测试指示器。 测试状态指示器在测试项目中自动显示。 如果知道应用程序代码具有单元测试,但测试指示器未显示,请尝试生成解决方案(Ctrl + Shift + B)。
提示
CodeLens 在 Visual Studio Community 版本中可用,但是,源代码管理 指示器在此版本中不可用。
问:为什么没有看见提交的工作项详情?
A: 这种情况可能发生,因为 CodeLens 在 Azure Boards 中找不到工作项。 检查是否已连接到具有这些工作项的项目,以及你是否有权查看这些工作项。 如果提交说明在 Azure Boards 中存在有关工作项 ID 的错误信息,则工作项详细信息也可能不显示。
问:如何更改 CodeLens 的字体和颜色?
A: 转到 工具>选项>环境>字体和颜色。
使用键盘的方法:
选择 Alt + T + O 可打开“选项”对话。
选择 上箭头 或 下箭头 转到 环境 节点,然后选择 左箭头 展开节点。
选择向下箭头转到“字体和颜色”。
选择 选项卡 转到 列表的 显示设置,然后选择 向下键 以选择 CodeLens。
问:我是否能移动 CodeLens 提醒显示?
答:可以,选择“停靠”图标 ,将 CodeLens 作为窗口停靠。
问:如何刷新指示器?
A: 刷新过程因指示器而异:
引用:代码更改时,此指示器会自动更新。 如果“引用”指示器作为单独的窗口停靠,请选择“刷新”来刷新该指示器。
团队:从右键单击菜单中选择“刷新 CodeLens 团队指示器”以刷新这些指示器。
测试:查找代码的单元测试,刷新“测试”指示器。
问:什么是“本地版本”?
答:“本地版本”箭头指向文件的本地版本中的最新变更集。 当服务器具有较新的更改集时,它们将显示在 本地版本 箭头之前或之后,具体取决于用于对更改集进行排序的顺序。
问:首次打开解决方案时,我的 CodeLens 测试指示器不再显示在我的文件中。 我应该如何加载它们?
A: 重新生成项目以获取 CodeLens 测试指示器,以便加载到文件中。 为了提高性能,Visual Studio 在加载代码文件时不再提取测试指示器的源信息。 测试指示器在生成后或在导航到测试时(通过在“测试资源管理器”中双击该测试)加载。
相关内容
Visual Studio CodeLens 可帮助你专注于你的工作,同时了解代码发生的情况 - 所有这些操作都无需离开交互式开发环境(IDE)代码编辑器。 可以查找代码引用、代码更改、关联的 Bug、代码评审和单元测试。
注意
CodeLens 在 Visual Studio 社区版中可用,但此版本中不提供 源代码管理 指示器。
CodeLens 可以向你展示代码的各个部分在解决方案中的使用位置和方式。
在不离开编辑器的情况下就对代码进行的更改联系你的团队:
若要选择要查看的指示器,或打开 CodeLens,请转到 工具>选项>文本编辑器>所有语言>CodeLens。
Visual Studio 2019 中的键盘快捷方式
可通过在 Visual Studio 代码编辑器窗口中使用键盘快捷方式来获取以下部分中介绍的许多操作。
若要使用键盘选择指示器,请选择并按住 alt 键以显示相关数字键,然后选择与所需指示器对应的键盘上的数字:
注意
若要选择“评审”指示器,请在选择 Alt 的同时,使用向左键和向右键进行浏览。
在 Visual Studio 中查找对代码的引用
可以在 C# 或 Visual Basic 代码中找到引用。
在代码编辑器中,选择 引用 指示器或使用 Alt + 2 键盘快捷键:
注意
如果指示器显示 0 个引用,则你的 C# 或 Visual Basic 代码中没有任何引用。 但是,其他项目项(例如 .xaml 和 .aspx 文件)中可能存在引用。
若要查看引用代码,请将鼠标悬停在列表中的引用上。
若要打开包含引用的文件,请双击引用。
代码图
若要查看代码与其引用之间的关系,创建代码图。 在代码映射快捷菜单中,选择 显示所有引用。
在代码中查找更改
检查代码的历史记录,了解代码发生了什么情况。 或者,您可以在变更合并到代码之前查看这些更改,以便更好地理解其他分支的更改如何影响您的代码。
你需要:
Visual Studio Enterprise 或 Visual Studio Professional
Git 或 Azure DevOps Server(原 Team Foundation Server)或 Team Foundation 版本控制(TFVC)
对于使用 TFVC 或 Git 存储的 C# 或 Visual Basic 代码,可以在类和方法级别(代码元素级 指示器)获取 CodeLens 详细信息。
对于除 .cs 或 .vb以外的文件类型,可在窗口底部的一个位置获取整个文件的 CodeLens 详细信息(文件级 指示器):
代码元素层级指示器
代码元素级指示器可让你查看谁更改了代码,以及更改了哪些更改。 代码元素级指示器可用于 C# 和 Visual Basic 代码。
还可以在使用 TFVC 或 Azure DevOps Services 时查看更改历史记录:
默认时间段是过去 12 个月(一年)。
若要查看所有更改的详细历史记录,包括一年多前的更改,请选择 显示所有文件更改:
此时将打开“历史记录”窗口:
当文件位于 Git 存储库中并选择代码元素级更改指示器时,历史记录 窗口会显示存储库提交的详细信息:
文件级别指示器
在代码编辑器的窗口底部查找包含文件级指示器的整个文件的更改:
注意
文件级指示器不适用于 C# 和 Visual Basic 文件。
若要获取有关更改的更多详细信息,请右键单击该项。 根据你使用的是 TFVC 还是 Git,有一些选项可用于比较文件版本、查看详细信息和跟踪更改集、获取所选版本的文件,以及向更改作者发送电子邮件。 Visual Studio 2019 版本 16.7 及更早版本中 团队资源管理器 中显示了一些详细信息。 在 Visual Studio 2019 版本 16.8 及更高版本中,详细信息将显示在 Git 更改 窗格中。
指示器显示随时间推移更改了代码的人员,这有助于你在团队的更改中找到模式并评估其影响。
在当前分支中查找更改
你的团队可能有多个分支,例如主分支和子开发分支,以减少中断稳定代码的风险。
可以通过按下 Alt+6键,发现多少个贡献者更改了您的代码,以及主分支中进行了多少次更改:
查找何时对你的代码进行了分支
若要了解何时对代码进行了分支,导航到子分支中的代码。 然后,选择“更改”指示器(或按 Alt+6):
查找来自其他分支的传入更改
您可以查看即将到来的更改。 在以下屏幕截图中,dev
分支中进行了 bug 修复:
可以在不离开当前分支的情况下查看更改(main
):
查看更改何时被合并
您可以看到更改何时被合并,这样您就能确定分支中包含哪些更改。
例如,main
分支中的代码现在包含了来自 dev
分支的 bug 修复。
将传入更改与本地版本进行比较
选择 Shift+F10 或双击变更集,将传入更改与本地版本进行比较。
分支图标
Branch 列中的图标显示该分支与你正在操作的分支之间的关系。
图标 | 更改来源 |
---|---|
![]() |
当前分支 |
![]() |
父分支 |
![]() |
子分支 |
![]() |
对等分支 |
![]() |
比父、子或对等更进一步的分支 |
![]() |
从父分支到子分支的合并 |
![]() |
从子分支到父分支的合并 |
![]() |
来自不相关的分支的合并(无基合并) |
Visual Studio 2019 中关联的工作项
通过选择 工作项 指示器 或使用 alt+8 键盘快捷方式来查找链接的工作项:
Visual Studio 2019 中关联的代码评审
选择“评审”指示器,查找关联的代码评审。 若要使用键盘,请按住 Alt 键,然后选择 向左键 或 向右键 浏览指示器选项。
Visual Studio 2019 中关联的 bug
通过选择 缺陷 指示器或使用 Alt+7 键盘快捷键查找关联的缺陷:
在 Visual Studio 2019 中联系项目的所有者
通过选择 作者 指示器或使用 Alt+5 键盘快捷方式查找项的作者:
打开项目的快捷菜单以查看联系人选项。 如果已安装 Teams,可能会看到类似于以下屏幕截图的选项:
Visual Studio 2019 中的关联单元测试
可以发现 C# 或 Visual Basic 代码存在的单元测试,而无需打开 测试资源管理器。
转到具有关联的单元测试代码的应用程序代码。
根据需要生成应用程序以加载 CodeLens 测试指示器。
通过选择 Alt+3 键盘快捷方式查看代码的测试:
如果看到警告图标
,则表示测试尚未运行,请运行它们。
若要查看测试的定义,请在 CodeLens 指示器窗口中双击测试项,并在编辑器中打开代码文件:
若要查看测试结果,请选择测试状态 失败 或 通过的 指示器(
或
),或使用 Alt + 1 键盘快捷方式:
若要查看有多少参与者更改了测试、是谁更改了测试或对此测试进行了多少次更改,在代码的历史记录 和关联的项目中查找。
Visual Studio 2019 中的 CodeLens 问与答
问:如何关闭或打开 CodeLens 或选择要查看的指示器?
A: 可以关闭或打开指示器,但引用指示器除外。 转到 工具>选项>文本编辑器>所有语言>CodeLens。
启用指示器后,还可以从指示器中打开 CodeLens 选项。
使用编辑器窗口底部的 V 形图标打开和关闭 CodeLens 文件级指示器。
问:CodeLens 在哪里?
A: CodeLens 出现在方法、类、索引器和属性级别的 C# 和 Visual Basic 代码中。 CodeLens 在所有其他类型文件的文件级别中出现。
确保已打开 CodeLens。 转到 工具>选项>文本编辑器>所有语言>CodeLens。
仅当工作项链接到代码时以及您有权打开链接的工作项时,才会显示与 DevOps 相关的指示器。 确认具有团队成员权限。
当应用程序代码没有单元测试时,不会显示单元测试指示器。 测试状态指示器在测试项目中自动显示。 如果知道应用程序代码具有单元测试,但测试指示器未显示,请尝试生成解决方案(Ctrl+Shift+B)。
提示
CodeLens 在 Visual Studio Community 版本中可用,但是,源代码管理 指示器在此版本中不可用。
问:为什么没有看见提交的工作项详情?
A: 这种情况可能发生,因为 CodeLens 在 Azure Boards 中找不到工作项。 检查是否已连接到具有这些工作项的项目,以及你是否有权查看这些工作项。 如果提交说明在 Azure Boards 中存在有关工作项 ID 的错误信息,则工作项详细信息也可能不显示。
问:如何更改 CodeLens 的字体和颜色?
A: 转到 工具>选项>环境>字体和颜色。
要想使用键盘:
选择 Alt + T + O 可打开“选项”对话。
选择 上箭头 或 下箭头,前往 环境 节点,然后选择 左箭头 以展开该节点。
选择向下箭头转到“字体和颜色”。
选择 选项卡 转到 列表的 显示设置,然后选择 向下键 以选择 CodeLens。
问:我是否能移动 CodeLens 提醒显示?
答:可以,选择“停靠”图标 ,将 CodeLens 作为窗口停靠。
Visual Studio 2019 中停靠的 CodeLens 引用窗口的
问:如何刷新指示器?
A: 刷新过程因指示器而异:
引用:当代码更改时,此指标会自动更新。 如果“引用”指示器作为单独的窗口停靠,请选择“刷新”来刷新该指示器:
团队:从右键单击菜单中选择“刷新 CodeLens 团队指示器”,刷新这些指示器:
测试:查找代码的单元测试,刷新“测试”指示器。
问:什么是“本地版本”?
答:“本地版本”箭头指向文件的本地版本中的最新变更集。 当服务器具有较新的更改集时,它们将显示在 本地版本 箭头之前或之后,具体取决于用于对更改集进行排序的顺序。
问:首次打开解决方案时,我的 CodeLens 测试指示器不再显示在我的文件中。 如何加载它们?
答:重新生成项目,获取要加载到文件中的 CodeLens 测试指示器。 为了提高性能,Visual Studio 在加载代码文件时不再提取测试指示器的源信息。 测试指示器在生成后或在导航到测试时(通过在“测试资源管理器”中双击该测试)加载。