【发布时间】:2017-01-13 14:42:07
【问题描述】:
案例 1(覆盖撤消/重做历史)
- 您正在“Program.cs”上编辑源代码。一个小时后,您已经完成了 100 行并输入了“Ctrl+S”(保存)。
- 为了休息一下,您离开办公桌时没有关闭“Program.cs”和 Visual Studio。当您离开时,您的狗来到您的办公桌前并按顺序输入
“Ctrl+Z”(撤消)>“Ctrl+Z”(撤消)> ...(直到出现原始代码)> “a”(输入文字)。 - 您从休息中回来,但为时已晚。您正在按“Ctrl+Z”(撤消)或“Ctrl+Shift+Z”(重做)来恢复 100 行,但您只能得到原始代码或“a”。
案例 2(丢弃撤消/重做历史记录)
- 您正在“Program.cs”上编辑源代码。一个小时后,您已经完成了 100 行并输入了“Ctrl+S”(保存)。
- 为了休息一下,您离开办公桌时没有关闭“Program.cs”和 Visual Studio。当您离开时,您的狗来到您的办公桌前并按顺序键入
“Ctrl+A”(全部)>“a”(键入文本)>“Ctrl+S”(保存)>“Ctrl+ F4"(关闭源). - 您从休息中回来,但为时已晚。您正在按“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