TFS:如何在加载解决方案时检测更改的文件?

时间:2010-04-15 12:50:28

标签: visual-studio-2010 tfs tfs2010

我是TFS与Visual Studio 2010集成的新手,我有一个问题需要解决。

实际上,当我打开解决方案时,如何在解决方案资源管理器中检测仅查看哪个文件自上次登录后已更改?

如果我查看源代码管理资源管理器最新列,我就可以发现已更改的文件,但它不是那么直观。

我附上了一张图片以便更好地理解。

alt text http://img37.imageshack.us/img37/9308/mainmicrosoftvisualstud.jpg

我希望为解决方案资源管理器中的项目与frmAbout.vb(在本例中)有一个不同的图标,而不是锁。你知道我怎么能实现这个行为?或Visual Studio 2010的一些替代品(插件)?

编辑:我们是一个由3人组成的小团队,我们需要在每行代码上保持一致,因为我们可以互换。因此,对于我们有清晰可见的图标,会有所帮助。

EDIT2:赏金时间再次结束,没有真正的解决方案。如果您知道实现此行为的插件,请告诉我们。如果我找到一些空余时间,我会尝试写一下。

5 个答案:

答案 0 :(得分:7)

首先,仅检查文件更新的情况是不够的。您还必须考虑在服务器上添加文件的情​​况,但您还没有这些文件...同样在服务器上删除文件但尚未从本地工作区删除的情况下。

幸运的是,这一切都内置于VS2010的团队资源管理器中。您所要做的就是:

  1. 转到Source Control Explorer
  2. 右键单击左侧树窗格中解决方案的根文件夹(或任何文件夹),然后选择“比较...”
  3. 选择您的比较选项(默认设置适用于您想要做的事情) 它将进行全面比较。完成后,您将看到一个“文件夹差异”窗口,其中显示服务器和工作区不同的所有情况(这些将以红色突出显示)
  4. 右键单击任何不同步的项目(或整个文件夹)并选择“Reconcile ...”;此时,您可以选择如何解决差异。
  5. 就是这样。希望这会有所帮助。

答案 1 :(得分:0)

我在这里提到的是基于我对TFS和Visual Studio 2008的了解,但我认为这方面没有太大变化。 (如果我错了,请随意纠正我;)

  • 在解决方案资源管理器中,您会看到是否有文件签出。
  • 在源代码管理资源管理器中,您可以查看是否有最新版本的文件

这两个是完全不同的东西。 TFS使用“更改集”,这是您使用签出文件进行的一系列更改。完成编辑后,您可以立即签入所有更改。多个团队成员可以签出同一个文件。如果发生这种情况,则在签入文件时合并更改。

您不会在本地自动收到最新版本的文件,直到您签出文件或使用“获取最新版本”。

AFAIK无法指示您是否在解决方案资源管理器中拥有最新版本的文件。

希望这有帮助。

答案 2 :(得分:0)

我的问题是“你为什么关心?”如果您在团队环境中工作,其中有多人正在对源进行更改,请记住经常执行向前集成到您的工作区。

我们现在正在这样做,我们的标准是在开始工作之前以递归方式对解决方案进行“获取最新”。如果有任何冲突,您将合并它们。否则,你有最新的。

答案 3 :(得分:0)

为什么不使用具有集成到VS的插件的源代码管理?根据平台(SVN,git,Hg,TFS),应该有许多插件可以告诉您是否有变化。在这些情况下什么没有成功?

答案 4 :(得分:0)

不确定这会有用,但是问题的另一种解决方法。 首先,您可以在工具 - >中设置“在项目或解决方案打开时获取所有内容”选项。选项 - >源控制 - >环境页面。这可以保证您在打开解决方案后拥有最新版本。 其次,在“Get everything”操作之后,选中Output窗口。选择“显示输出”=“源代码管理”。您将以方便的列表形式查看所有已更改的文件。