使用 CodeLens 查找代码更改和其他历史记录

专注于你的工作并在同时了解你的代码所发生的情况 - 无需离开编辑器(需要 Visual Studio 旗舰版)查找代码引用、代码更改、链接的 Bug、工作项、代码评审和单元测试。

CodeLens indicators in the code editor

在不离开编辑器的情况下就这些更改联系你的团队:

CodeLens - Contact your team

若要选择想查看哪个编辑器,请依次转到“工具”、“选项”、“文本编辑器”、“所有语言”、“CodeLens”。

查找对代码的引用

你将需要:

  • Visual Studio 旗舰版

  • Visual C# .NET 或 Visual Basic .NET 代码

  • 最新 Visual Studio 2013 更新,以便你可以使用在多个应用间共享代码的解决方案

  1. 选择引用指示器 (Alt + 2):

    CodeLens - Choose references indicator

    如果有 0 个引用,则你没有来自 Visual C# 或 Visual Basic 代码的引用。这不包括来自其他项(如 XAML 和 ASPX 文件)的引用。

  2. 若要查看引用代码,将你的鼠标移动到引用的顶部或双击它:

    CodeLens - Peek reference

  3. 若要查看该代码与其引用之间的关系,请创建代码图

    CodeLens - References on code map

查找代码历史记录和链接项

查看代码的历史记录,了解你的代码所发生的情况。或者,在将这些更改合并到你的代码中之前查看它们,这样你可以更好地了解其他分支中的更改可能影响你的代码的方式。

你将需要:

  • Visual Studio 旗舰版

  • Team Foundation Server(相同版本)或 Visual Studio Online

  • 使用 Team Foundation 版本控制 (TFVC)Git 签入 Team Foundation Server 或 Visual Studio Online 的 Visual C# .NET 或 Visual Basic .NET 代码。如果你的 Git 存储库承载在 TfGit 中,那么你还可以找到 TFS 工作项的链接。

  • 最新 Visual Studio 2013 更新,以便你还可找到其他分支中的更改并使用在多个应用上共享代码的解决方案

  • Lync 2013、Lync Basic 2013 或 Lync 2010,可从编辑器联系你的团队

查找你的代码中的更改

按快捷键“Alt + 4”查找更改代码的人,要么在 Team Foundation 版本控制 (TFVC) 中查找:

Get change history for your code in TFVC

要么在 Git 中查找,你还可以在其中查看最后一次更改的时间。

Get change history for your code in Git

若要获得有关更改的详情,请右击该项,然后单击“查看详细信息”。详细信息便会出现在团队资源管理器中。

查找当前分支中的更改

假设你的团队有多个分支(一个主分支和一个子开发)以降低破坏稳定代码的风险:

CodeLens: Find when your code was branched

按快捷键“Alt + 6”来查找主要分支中代码更改的数目:

CodeLens: Find how many changes in your branch

或按“Alt + 4”来查找更改代码的人数:

CodeLens: Find how many people changed your code

如果更改指示器或作者指示器旁边出现一个加号 (+) 和另一个数字,则代码在你当前的 TFS 分支中具体最新更改。

查找何时对你的代码进行了分支

转到子分支中的代码,例如此处的开发分支。选择更改指示器 (Alt + 5):

CodeLens: Find when your code was branched

查找来自其他分支的传入更改

CodeLens: Find code changes in other branches

…类似于此处开发分支中的 Bug 修复:

CodeLens: Change checked into another branch

你可以在不离开当前分支(主分支)的情况下查看此更改:

CodeLens: See incoming change from another branch

查找何时对更改进行了合并

因此你可以查看在你的分支中包括了哪些更改:

CodeLens - Merged changes between branches

例如,主分支中的代码现在具有来自开发分支的 Bug 修复:

CodeLens - Merged chagnes between branches

将传入更改与你的本地版本进行比较 (Shift + F10)

CodeLens: Compare incoming change with local

你也可以双击变更集。

图标代表什么?

图标

更改来源于何处?

CodeLens: Change from current branch icon

当前的分支

CodeLens - Change from parent branch icon

父分支

CodeLens - Change from child branch icon

子分支

CodeLens - Change from peer branch icon

对等分支

CodeLens - Change from branch further away icon

比父、子或对等更进一步的分支

CodeLens: Merge from parent icon

从父分支到子分支的合并

CodeLens: Merge from child branch icon

从子分支到父分支的合并

CodeLens: Merge from unrelated branch icon

来自不相关分支的合并(baseless 合并)

查找链接工作项,按“Alt + 7”

CodeLens - Find work items for specific code

查找链接代码评审,按“Alt + 8”

CodeLens - View code review requests

查找链接错误,按“Alt + 9”

CodeLens - Find bugs linked to changesets

联系项的所有者 (Shift + F10)

CodeLens - Contact your team

查找代码的单元测试

了解针对你的代码的单元测试的更多信息,而无需打开测试资源管理器。你将需要:

  • Visual Studio 旗舰版

  • Visual C# .NET 或 Visual Basic .NET 代码

  • 一个单元测试项目,它具有针对应用程序代码的单元测试

  • 最新 Visual Studio 2013 更新,以便你可找到其他分支中的更改并使用在多个应用上共享代码的解决方案

  1. 转到带有单元测试的应用程序代码。

  2. 审查该代码的测试,请按“Alt + 3”。

    CodeLens - Choose test status in code editor

  3. 如果看到警告图标 CodeLens - Unit tests not yet run warning,请运行测试。

    CodeLens - View unit tests not run yet

  4. 若要查看某个测试的定义,请双击该测试。

    CodeLens - Choose a unit test

    CodeLens - Go to unit test definition

  5. 查看测试的结果。选择测试状态指示器(CodeLens - Unit test failed iconCodeLens - Unit test passed icon),或按“Alt + 1”。

    CodeLens - See unit test result

  6. 若要查看更改过此测试的人数、更改者或对此测试所做的更改的数量,请查找代码的历史记录。

问题解答

问:如何关闭或打开 CodeLens?或者选择要查看的指示器?

**答:**可以关闭或打开指示器,引用指示器除外。请依次转到“工具”、“选项”、“文本编辑器”、“所有语言”、“CodeLens”。

指示器打开后,你也可以从指示器上打开“CodeLens”选项。

CodeLens - Turn indicators off or on

问:CodeLens 位于何处?

**答:**CodeLens 仅出现在方法、类、索引器和属性级别的 Visual C#.NET 和 Visual Basic.NET 代码中。

  • 确保 CodeLens 开启。请依次转到“工具”、“选项”、“文本编辑器”、“所有语言”、“CodeLens”。

  • 如果你的代码存储在 TFS 中,请确保使用 CodeIndex 命令TFS Config 命令打开代码索引。

  • 仅当工作项已链接到代码并且你有权打开链接的工作项时,才显示与 TFS 相关的指示器。确认你具有团队成员权限。

  • 当应用程序代码没有单元测试时,单元测试指示器不显示。测试状态指示器自动显示在测试项目中。如果你知道你的应用程序代码具有单元测试,但未显示任何测试指示器,请尝试生成解决方案 (Ctrl + Shift + B)。

问:为什么没有看见提交的工作项详情?

:可能是因为 CodeLens 无法查找到 TFS 中的工作项。检查是否连接到具有这些工作项的团队项目,以及你是否有权限看到这些工作项。如果提交说明中关于 TFS 中工作项 ID 的信息有误,也会出现这种情况。

问:为什么没有看见 Lync 指示器?

**答:**当未登录到 Lync、未安装 Lync 或没有支持的 Lync 配置时,Lync 指示器不会显示。但是你仍可以发送邮件:

CodeLens - Contact changeset owner by mail

CodeLens - Contact changeset owner by mail

CodeLens - Send mail about a changeset

支持哪些 Lync 配置?

  • Lync 2013(32 位或 64 位)(独立或带 Office 2013)

  • Lync Basic 2013 独立(32 位或 64 位,但不带 Windows 8.1)

  • Lync 2010 独立(32 位或 64 位)

CodeLens 不支持安装不同版本的 Lync。可能不会针对所有本地化版本的 Visual Studio 本地化 Lync。

问:如何更改 CodeLens 的字体和颜色?

答:转到“工具”“选项”“环境”“字体和颜色”

CodeLens - Change font and color settings

使用键盘:

  1. Alt + T + O 打开**“选项”**框。

  2. 按向上键或向下键转到**“环境”**节点,然后按向左键展开该节点。

  3. 按向下键转到**“字体和颜色”**。

  4. Tab 转到**“显示其设置”列表,然后按向下键选择“CodeLens”**。

问:作者指示器和更改指示器之间有何区别?

**答:**作者指示器显示更改此代码的人数。更改指示器显示该代码更改的数目。两个指示器都显示相同的更改详情。

问:如何刷新指示器?

**答:**这取决于指示器:

  • 引用:代码更改时,此指示器会自动更新。如果此指示器作为单独的窗口停靠,则在此处手动刷新指示器:

    CodeLens - Dock as window

  • 团队:在此处手动刷新这些指示器:

    CodeLens - Refresh indicators

  • 测试:运行所有测试或特定测试以刷新此指示器。

问:我是否能移动 CodeLens 提醒显示?

**答:**可以,请选择 CodeLens - Dock as a window 作为窗口停靠 CodeLens。

CodeLens - Dock as window

问:什么是“本地版本”?

**答:“本地版本”箭头指向本地版本的此文件中的最新变更集。当服务器具有最新的变更集时,它们显示在“本地版本”**箭头的上方或下方,具体取决于排列变更集的顺序。

问:是否可以管理 CodeLens 如何处理代码以显示历史记录和链接的项?

**答:**可以,如果代码位于 TFS 中,请使用 CodeIndex 命令TFS Config 命令