VisualStudio 代码: 自动刷新文件更改

在使用 Visual Studio Code 时,我注意到如果使用的文件发生了变化,那么只要该文件在代码面板中获得焦点,它就会从磁盘 < em > (如果没有通过 VSCode 对文件进行更改) 中重新加载。

但是,如果您位于该文件上,则不会收到关于文件更改的警告。

我一直在检查设置,我找不到任何类似的视觉工作室选项:

检测文件何时在环境外被更改

所以我的问题是,有没有什么隐藏的设置或者黑客技术来实现这个警告。

更新

在 VisualStudio 代码的0.3.0版中解决。

  1. 如果通过编辑器没有更改,文件将从磁盘更新。(对于在进程执行期间读取日志文件非常有用)
  2. 如果当您尝试使用 VSCode 保存文件时,两边都有变化(从磁盘和通过编辑器) ,编辑器将警告您这种情况(即“脏写”) ,文件比较将允许您决定该做什么。
182422 次浏览

如果文件中有未保存到磁盘的更改,VSCode 将永远不会刷新该文件。但是,如果文件是打开的并且没有更改,那么它将被磁盘上的更改替换,这是正确的。

目前还没有办法禁用这种行为。

{
"files.useExperimentalFileWatcher" : true
}

在代码-> 首选项-> 设置

在 mac 和 win 上使用 Visual Studio Code Version 1.26.1进行测试

SUPER-SHIFT-p > File: Revert File是唯一的办法

(其中,Mac 上的 SUPERCommand,PC 上的 Ctrl)

在版本1.57.1(2021年6月)中,仍然没有像 Detect when file is changed outside the environment那样的设置。 但是,如果文件在外部被意外地更改,只需使用 Undo (Ctrl+Z)命令就可以轻松地恢复更改

在 Ubuntu 上,在使用 vscode 创建一个新文件之后,直到我手动刷新浏览器,它才会显示出来。真的很令人沮丧。我在 设置 json中换了一把钥匙,之后一切都很正常:

"files.legacyWatcher": "on",

保存,重新启动 vscode 并保证安全:)