我正在运行 Word 2007,但我也注意到早期版本也存在此问题。
似乎当我打开并处理 Word 中的文档时,系统会在同一文件夹中创建一个文件名奇怪的隐藏文件。这可能是我在崩溃后自动恢复文件的原因。
不幸的是,当我点击保存时,系统似乎删除了原始文件并重命名了隐藏文件。这对我来说是个大问题,因为我经常编辑受源代码控制的文件(我雇主产品的文档),当这种情况发生时,Visual Studio / Team Foundation Server 会认为该文件已被删除,并且它会从产品和源代码控制中消失。
有什么办法可以让这个功能消失吗?
答案1
在我看来,您是在试图将大山移到 Mahomet 身上。退一步想想修订控制通常是如何工作的(想想 CVS 或 SVN 的签入和签出)。
您不应该直接处理源代码控制存储库中的文件,而应该执行以下操作:
- 签出您想要更改的文件
- 在文件的本地副本上进行更新
- 签入您更新的文件的新版本
这似乎比您通过改变 MS Word 的工作方式所尝试做的事情更有意义。
答案2
它之所以采用硬编码是有充分理由的 - 如果您打开了实际文件的句柄,然后尝试保存并覆盖该文件,则由于某种原因(尤其是在网络文件共享上,但即使只是电源故障等本地问题),保存也会失败,您现在将拥有一半无用的文件。Word 在保存时使用的方法是保存一个临时文件,确保正确保存,然后删除原始文件并“交换”临时文件,当然,这一切对用户来说都是透明的。
您看到的“奇怪命名”的文件是元文件,使用户能够获得有用的锁定消息 - “您想要的文档正在由 Barry 编辑” - 用户名是从该临时文件中获取的(这就是为什么它显示用户的名称存储在 Office 中,而不是他们的登录帐户名)。
自动恢复文件不与实际文档存储在同一个文件夹中,而是存储在用户配置的本地文件夹中。
答案3
您是否尝试过前往Word Options/Save
并取消选中Save Autorecover information every [option] seconds
?
我没有使用专用源代码控制的经验,所以我不知道这样是否可行,但它看起来很有希望。
答案4
这不是 Microsoft Word 中的选项 - 您只能使用现有的保存/删除/替换功能。
Visual Studio 会注意到文件从磁盘中删除的情况,并自动将其从项目中删除。在“工具”>“选项”>“文档”菜单中停用“检测文件在环境之外发生更改时”选项不是关闭此行为。
您可以通过执行以下操作来解决这个问题(不太方便):
- 检查源代码控制系统中的 DOC/DOCX 文件。
- 退出 Visual Studio,或者直接关闭解决方案。
- 在 Word 中处理文件,完成后进行最后的保存。
- 重新打开解决方案,您的文件仍将包含在项目中。
- 重新签入该文件。