磁盘上的内容更新。单击比较以将您的版本与磁盘上的版本进行比较

时间:2017-12-19 17:54:09

标签: ide visual-studio-code

更新到1.19.1后我不断收到此错误。 磁盘上的内容较新。单击“比较”将您的版本与磁盘上的版本进行比较。

5 个答案:

答案 0 :(得分:1)

要添加到此信息,v1.42增加了立即覆盖vscode之外所做的更改或完全阻止通知(如果您愿意)的功能。从发行说明(https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#ignore-save-conflicts):

忽略保存冲突

VS Code具有内置机制,可在您尝试保存时显示错误 在VS Code或其他代码之外已更改的脏文件 程序(例如Git):

save conflict notification from release notes

这样做的目的是告诉您,保存将覆盖 磁盘上的内容,即使文件在文件之后已更改 变脏了。单击“比较”按钮可以查看更改 以及磁盘上的版本,然后覆盖或还原 文件。

如果您知道磁盘上的更改可以被覆盖, 现在,通知上直接有一个“覆盖”按钮。您可以 还要全局或每个工作区配置files.saveConflictResolution或 文件类型以完全禁用通知。选项为askUser(默认)或overwriteFileOnDisk

答案 1 :(得分:0)

当您尝试保存无法保存的文件时,VS Code将向您显示一条错误消息,因为该文件已在磁盘上更改。 VS Code阻止保存文件,以防止覆盖在编辑器之外进行的更改。

为了解决此问题,请在错误消息中单击Compare操作以打开差异编辑器,该差异编辑器将向您显示磁盘上文件的内容(左侧),与VS Code中的内容相比(在右侧):{参考图片}

enter image description here

您必须接受更改或还原更改。如果不采取任何上述措施,则无法保存文件。

P.S以上答案已从Visual Studio代码官方文档中引用。

答案 2 :(得分:0)

这是另一种方式:

  1. 将脏文件的全部内容复制到记事本中的某个位置,例如说abc.js
  2. 删除文件:rm abc.js
  3. 从存储库中获取文件(我的情况是Git):git checkout abc.js
  4. 粘贴先前复制的内容或将更新的内容粘贴回并保存。

希望您不会看到此问题。

答案 3 :(得分:0)

关闭所有编辑器,当您在GIT中切换该分支时,它不会出现

答案 4 :(得分:-2)

单击比较按钮,将显示两个屏幕(左侧和右侧),单击右侧出现的刻度线(在我的情况下)。就是这样,它将被保存。