2017-09-06 78 views
2

我已将大部分时间花在使用Eclipse或IntelliJ并将源代码放在Git存储库中。我刚刚开始与Visual Studio一起使用TFS服务器的源代码。每个版本2015年。Visual Studio - 如何总是显示待处理的更改

我没有调整到版本控制的差异,我正在寻求帮助。

Eclipe/IntelliJ在边距中显示更改标记。虽然这不能提供有关更改的足够信息,但它会向您显示已进行更改的位置,并且可以深入研究以查找更多差异信息。

VS/TFS在文件窗口中什么也没有显示。我甚至不知道有任何改变。要知道任何事情,我必须打开Pending Changes窗口。在其中,我可以右键单击并选择“与......比较”。但是当我对不同的文件做同样的事情时,如果我想再次看到它,最后一个文件显示的变化消失了,促使我做同样的事情。一遍又一遍......我觉得这个工作流程非常慢。我发现Set default action to Compare in Visual Studio 2013 Pending Changes window with TFS显示您可以双击文件以转到差异视图。这节省了一些时间和精力。

有没有一种方法来改善VS/TFS,以便对文件的更改始终可见?很像编辑器Track Changes https://www.codeproject.com/articles/109611/color-indicator-for-code-changes-track-changes-in - 但是在保存(直到提交)之后,它仍然存在。

Visual Studio Track Changes

我不得不通过https://marketplace.visualstudio.com/search?term=tfs&target=VS&category=All%20categories&vsVersion=&sortBy=Relevance一看,我什么也看不见。也许有人知道什么?


添加屏幕截图以备注。我讨论了我的工作方式,你可以看到内联差异,有时你可以编辑它们。我发现你为什么不能编辑它们。因为这些文件在/Temp。为什么VS会在文件位置创建一些差异以及其他位置,我不知道。

enter image description here

+0

您是否尝试过注释选项? – ds19

+0

Git说法中的'怪'。不,它有很多工作要打开它,而且你无法编辑文件。 – HankCa

回答

1

在VS Marketplace中有一个扩展名为TFSPendingChangesMargin。我发现它非常有用,但它目前仅适用于VS 2013和2015。要使此扩展在Visual Studio 2015的发行版2和3中运行,您需要从here下载vsix。不幸的是,您需要禁用此扩展程序的自动更新,否则它将更新到市场中的版本。

我发现特别有用的功能是能够回滚文件中的特定更改。我会爱如果有人会更新它与VS 2017一起工作。

+0

我使用VS 2015,它失败了 - 启动时出现异常。可惜,这将是一个完美的解决方案。 – HankCa

+0

@HankCa我编辑我的答案,包括一个工作vsix的链接。 – JapNolt

+0

非常感谢@JapNolt。它按照所述的方式工作 – HankCa

1

手动比较不同版本之间的文件是预期的行为。

如果你的意思是你总是想为每个改变后的文件显示差异视图,我认为这没有意义。如果一个巨大的项目中有很多文件发生变化,比较视图将消耗更多的内存和其他硬件资源,这会影响性能。

对于你提到的editor Track Changes,你可以为你的VS做相应的设置(勾选它在VS 2015中默认设置)。我们可以看到,它可以用标记的不同颜色识别文件本身的变化。从这个角度来看,实际上在检入更改之前已经实现了“始终显示待处理的更改”,然后在文件中将更改标记为不同的颜色。

但是对于TFS差异视图,它们用于比较不同版本。所以,他们是不同的。我认为始终显示待处理的更改不是必需的,我们只需要根据需要即时和定期比较以前的版本。

如果要将所有文件的变化放在一起比较,你可以尝试获取/下载不同版本的本地目录/工作空间的源,然后使用比较等工具,BeyondCompareExamDiffPro比较目录。目录中的所有文件将在每个差异视图中进行比较。


UPDATE1:

我们可以设置键盘快捷键CTRL + ], P快速定位到“挂起的更改”,然后在列表中选择该文件与shift + double-click对它们进行比较。

要指定或定制VS键盘快捷键:

工具>选项>环境>键盘 ,然后在“显示命令包含”文本框和期望的捷径进入进入“View.TfsPendingChanges”按快捷键框(只需按想要映射的键),然后点击分配。

enter image description here


UPDATE2:

您也可以参考这篇文章:Comparison keyboard shortcuts for Pending Changes in TFS设置快捷键下面的比较:

输入下面的命令名称为展包含文本框的命令一次一个:

  • TeamFoundationContextMenus.SourceControlPendingChangesSourceFiles.Compare.TfsContextPendingCheckinsCompareWithLatestVersion
  • TeamFoundationContextMenus.SourceControlPendingChangesSourceFiles.Compare.TfsContextPendingCheckinsCompareWithWorkspaceVersion
  • TeamFoundationContextMenus.SourceControlPendingChangesSourceFiles.Compare.TfsContextPendingCheckinsCompareWithPreviousVersion

对于每个命令输入所需的键盘快捷方式到按快捷键文本框,然后点击分配按钮。您可以设置快捷键下面为他们每个人,那在我身边的工作(基于其他操作的快捷方式设置,根本就没有使用与他人重复的快捷方式):

  • Shift + `
  • 按Ctrl + Shift +`
  • 按Ctrl + Alt +`

此外,如下面HankCa的评论中提到,如果您更改为嵌入差异,那么你就可以看到差异和编辑文件。代码执行时。要进行内联比较,您可以添加比较文件工具栏并从其中一个下拉列表中选择它。如果您单击窗口选项卡上的'保持打开'图标,它将保持在屏幕上,您可以打开多个差异/编辑窗口。

对于临时差异文件,它是预期的行为,当您更改文件时,系统将在“AppData \ Local \ Temp \ TFSTemp”中创建TFS临时差异文件。这些文件的名称都是“vctmp4316_370233.cs

+0

不,我的意思是在边距中显示标记,这样当我查看文件时,我可以看到它已更改(以及位置) - 就像编辑器跟踪更改功能一样。完全喜欢它,但与当前的工作场所版本相比。我知道你可以与其他版本(例如服务器上的内容)进行比较,并简化一些与当前版本相似的深层菜单。目前的工作场所版本是90%的时间你会关心的。 – HankCa

+0

编辑器跟踪更改非常棒,但是当您关闭文件时(即使关闭然后立即重新打开),它也会消失。 – HankCa

+0

什么可能是一个好的解决方案是使用一系列键盘快捷键来快速找到差异。 'CTRL + [,P'获取挂起的更改,如果文件已被修改,它将在列表中。不幸的是,没有比较...的键盘快捷键,但是如果这个解决方案是完整的。 – HankCa

相关问题