【问题标题】:How to recover or prevent from accidental UNDO/REDO operations on Visual Studio 2010如何在 Visual Studio 2010 上恢复或防止意外的 UNDO/REDO 操作
【发布时间】:2017-01-13 14:42:07
【问题描述】:

案例 1(覆盖撤消/重做历史)

  1. 您正在“Program.cs”上编辑源代码。一个小时后,您已经完成了 100 行并输入了“Ctrl+S”(保存)。
  2. 为了休息一下,您离开办公桌时没有关闭“Program.cs”和 Visual Studio。当您离开时,您的狗来到您的办公桌前并按顺序输入
    “Ctrl+Z”(撤消)>“Ctrl+Z”(撤消)> ...(直到出现原始代码)> “a”(输入文字)。
  3. 您从休息中回来,但为时已晚。您正在按“Ctrl+Z”(撤消)或“Ctrl+Shift+Z”(重做)来恢复 100 行,但您只能得到原始代码或“a”

案例 2(丢弃撤消/重做历史记录)

  1. 您正在“Program.cs”上编辑源代码。一个小时后,您已经完成了 100 行并输入了“Ctrl+S”(保存)。
  2. 为了休息一下,您离开办公桌时没有关闭“Program.cs”和 Visual Studio。当您离开时,您的狗来到您的办公桌前并按顺序键入
    “Ctrl+A”(全部)>“a”(键入文本)>“Ctrl+S”(保存)>“Ctrl+ F4"(关闭源).
  3. 您从休息中回来,但为时已晚。您正在按“Ctrl+Z”(撤消)或“Ctrl+Shift+Z”(重做)来恢复 100 行,但您只能得到 "a"

通过以上案例我想说的是“100行很容易丢失。”
我知道那些可能性,并且相信我永远也不会抓住它们,但是第二个案例只是在 30 分钟前发生的,是自己的错误。

我想知道除了 SVN/GIT 提交和回滚功能之外是否存在任何解决方案。
不幸的是,“撤消/重做上次全局操作”对我不起作用。

感谢您的帮助。

【问题讨论】:

  • 案例 1 很简单 - 只需重新加载文件。 (你还没有保存,对吗?)对于案例 2,你似乎有一只非常令人印象深刻的狗,它能够按 Ctrl-S 和 Ctrl-F4。简而言之,你能否给出一个更现实的你失去工作的情况?我不认为目前这真的“很容易”......
  • @JonSkeet 谢谢你的建议。但是,请假设案例 1 将在该过程之后被保存。正如我写的那样,案例 1 表示“覆盖撤消/重做历史”发生的时间。另外,请注意步数,但狗。例如,在案例 2 中,我害怕仅仅 4 个神奇的步骤就能把你的代码吹走,但是……这是不可避免的吗?
  • 如果您希望案例 1 包括保存,为什么不添加它呢?我建议你现在就这样做。对我来说,这一切听起来都不太可能。如果这真的经常发生在你身上,听起来你需要更频繁地致力于源代码控制。
  • @JonSkeet 再次感谢。对于这些情况,Terje Sandstrøm 的回答似乎是更好的解决方案。
  • 我想说最好的解决方案实际上是让你的狗远离你的键盘。如果这只狗能够在 Visual Studio 中造成如此大的破坏,想象一下它会对您的电子邮件、网上银行等造成什么影响。

标签: visual-studio-2010 visual-studio-2012 snapshot undo redo


【解决方案1】:

CTRL Y - 是在 Visual Studio 代码中解决问题的最简单方法。

【讨论】:

【解决方案2】:

您要求使用 VS2010,但也将其标记为 VS2012,对于 VS2012 及更高版本,您拥有跟踪本地历史记录的 Microsoft Devlabs AutoHistory 扩展。扩展在这里:https://visualstudiogallery.msdn.microsoft.com/dfcb2438-180c-4f8a-983b-62d89e141fe3,关于它的博客在这里:https://blogs.msdn.microsoft.com/visualstudio/2014/01/23/auto-history-extension-in-visual-studio-2013/

示例截图,为一个文件生成的差异,我在其中添加了一个减法方法,保存它,然后我的狗过来擦掉它,改写为“bbbbb”。

【讨论】:

  • 尽管它是 VS2012 或更高版本的解决方案,但它很棒。我希望每一个 IDE 都有这个功能。
  • 这是 DevLabs 的工作,因此可能会或可能不会进行更新。评论中描述了一个 hack,marketplace.visualstudio.com/…,这很容易做到,而且很有效。在此处发生某些事情之前,这至少是一种解决方法。
猜你喜欢
  • 1970-01-01
  • 2013-02-25
  • 1970-01-01
  • 2019-12-22
  • 1970-01-01
  • 1970-01-01
  • 2013-06-23
  • 2012-07-21
  • 1970-01-01
相关资源
最近更新 更多