Visual studio 有没有办法恢复源代码管理项目(TFS)中已擦除的代码?

Visual studio 有没有办法恢复源代码管理项目(TFS)中已擦除的代码?,visual-studio,azure-devops,source-control-explorer,Visual Studio,Azure Devops,Source Control Explorer,我正在Visual Studio 2012中的一个项目中工作,该项目托管在TFS上。无论如何,我不知道这是否是由于睡眠不足或完全不小心造成的,在尝试将一个大型函数体从一个文件移动到另一个文件时,我将声明复制到了新文件中,但忘记了复制主体,然后从旧文件中删除了主体,单击“通过反射保存”并关闭第一个.cpp文件,因此当我将其粘贴到第二个文件中时,令我惊讶的是,我粘贴了声明而不是定义。撤消挂起的更改只会同时撤消“添加”。有没有办法检索丢失的源代码,或者我应该尽快开始重写它?因为我花了很长时间来编写它。

我正在Visual Studio 2012中的一个项目中工作,该项目托管在TFS上。无论如何,我不知道这是否是由于睡眠不足或完全不小心造成的,在尝试将一个大型函数体从一个文件移动到另一个文件时,我将声明复制到了新文件中,但忘记了复制主体,然后从旧文件中删除了主体,单击“通过反射保存”并关闭第一个.cpp文件,因此当我将其粘贴到第二个文件中时,令我惊讶的是,我粘贴了声明而不是定义。撤消挂起的更改只会同时撤消“添加”。有没有办法检索丢失的源代码,或者我应该尽快开始重写它?因为我花了很长时间来编写它。

查看文件的历史记录。右键单击它>>源代码管理>>查看历史记录,如下所示:


这显然是假设您在某个时候签入了该文件。

查看该文件的历史记录。右键单击它>>源代码管理>>查看历史记录,如下所示:


这显然是假设您在某个时候签入了它。

在Visual Studio下,您有多个级别的复制/粘贴,因此您可以通过按CtrlAltIns来检索它(如果我记得很清楚的话)

如果您还没有关闭Visual Studio,它可能仍然在您的
复制/粘贴
环中,可能值得尝试一下

否则,您可以在TFS服务器中始终回滚到以前的签入状态(如果您在删除代码之前签入了所需的代码)


首先,将当前状态签入服务器。然后回滚到包含代码的上一版本(右键单击解决方案,然后
源代码管理->获取特定版本
)。现在在一个侧面编辑器中复制代码。重新转到最新版本(
获取解决方案的最新版本…
)。现在,在正确的位置重新粘贴代码,就完成了。

在Visual Studio下,您有多个复制/粘贴级别,因此您可以通过按CtrlAltIns(如果我记得清楚的话)检索它

如果您还没有关闭Visual Studio,它可能仍然在您的
复制/粘贴
环中,可能值得尝试一下

否则,您可以在TFS服务器中始终回滚到以前的签入状态(如果您在删除代码之前签入了所需的代码)


首先,将当前状态签入服务器。然后回滚到包含代码的上一版本(右键单击解决方案,然后
源代码管理->获取特定版本
)。现在在一个侧面编辑器中复制代码。重新转到最新版本(
获取解决方案的最新版本…
)。现在在正确的位置重新粘贴代码,就完成了。

如果VS中的CTRL+Z不起作用,请转到删除文件的空文件夹,然后在那里尝试CTRL+Z。已经为我工作了好几次。

如果VS中的CTRL+Z无效,请转到已删除文件的空文件夹,然后在那里尝试CTRL+Z。已经为我工作过好几次。

讨论这个话题的论坛不正确。如何使用编程工具属于SO的职权范围。我看不出有什么理由结束这个问题。我的意思是应该在VS usage tag中而不是在c++not correct论坛中讨论这个话题。如何使用编程工具属于SO的权限范围。我看不出这个问题应该关闭。我的意思是它应该在VS使用标记中而不是C++中。