Visual Studio代码:自动刷新文件更改


100

使用Visual Studio Code我注意到,如果您正在使用的文件发生更改,则只要该文件集中在代码面板中,它将从磁盘重新加载(如果您没有通过VSCode在文件中进行更改)

但是,如果您在该文件上,则不会发出警告来警告您有关文件更改。

我一直在查看设置,但找不到Visual Studio选项之类的东西:

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

所以我的问题是:是否有任何隐藏的设置或一些hack使该警告发生。

更新资料

在Visual Studio Code的0.3.0版本中解决。

  1. 如果通过编辑器没有任何更改,将从磁盘更新文件。(对于在执行过程中读取日志文件非常有用)
  2. 如果当您尝试使用VSCode保存文件时(从磁盘到通过编辑器)双方都有更改,则编辑器会警告您这种情况(即“脏写”),并且可以通过文件比较来确定该怎么办。

1
如果您有更改,为什么不希望它们?
约翰·帕帕

12
@JohnPapa我正在尝试获得与Visual Studio或Sublime Text中相同的行为。如果我没有通过IDE进行任何更改,则IDE上的文件应从HDD更新到最新版本。如果我通过IDE以及在IDE外部进行了更改,则应弹出警告,警告该情况。诸如“磁盘上的文件xxx已更改。是否要重新加载它?”之类的东西
Juan M. Elosegui 2015年

请参阅stackoverflow.com/questions/54995008/…github.com/microsoft/vscode-docs/blob/vnext/release-notes/…,以了解对此行为的一些更改,包括根据需要阻止通知的功能。
Mark

@johnPapa容易。假设您一直在编辑一个文件,以为它是另一个文件。您突然意识到这一点,并想要丢失所做的更改。或更相关的是,您签出其他git分支。几乎所有其他编辑器(如notepad ++)都会立即说“磁盘上的文件已更改。您要重新加载吗?Vscode无法检测到它,并且您可以进行更改并保存并最终覆盖错误的分支,这很可怕。可以吗?” t相信2020
Gostega

Answers:


64

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

当前无法禁用此行为。


52
其他编辑都有。某些文件可能被用户意外修改,但是至少要通过编辑器上的某些通知窗格,告知用户该文件的真实含义是磁盘上的该文件已更改并询问是否要重新加载。
沃伦·P

4
其他编辑器可能具有此功能,但是即使关闭并重新打开VSCode,此行为仍然存在,如果您不希望发生这种情况,这将非常危险。您可能有10个文件打开,请回到VS2017,然后在两天后返回VSCode并“全部保存” ..
Simon_Weaver

6
@Ingemar我真的很想给VSCode试一试(尤其是对于Angular intellisense),也许还要在VS2017和VSCode之间切换。我经常在VSCode中进行更改,但不保存它,然后最终在VS2017中更改同一文件。我会切换回VSCode并在更改后不小心重新保存文件(即使在关闭/重新打开后)。在短短几天内,我的更改至少消失了两次,一次,我终于弄清了为什么这对我来说几乎是VSCode的终结。保存自VSCode打开后已进行外部修改的文件时,至少应警告VSCode。
Simon_Weaver

4
这个答案现在是3岁,有人打开过这个问题吗?您能在这里发布链接吗?
法比奥说恢复莫妮卡

19
File: Revert File可用于从磁盘获取新内容。
本杰明·帕塞罗

27
{
    "files.useExperimentalFileWatcher" : true
}

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

在Mac和Win上使用Visual Studio Code 1.26.1版进行了测试


3
它对我不起作用(在Windows 10上为VSCode 1.26.1):在外部修改文件时,如果在Code中没有任何更改,则会以静默方式重新加载该文件,否则它将什么也不做,然后在我尝试保存时它会警告我有关冲突的信息,并通过比较两个版本来解决它。所有这一切都与无关files.useExperimentalFileWatcher,因为我已经尝试过true和false,并且没有发现任何区别。
法比奥说莫妮卡(

5
版本1.28.2(1.28.2)Code -> Preferences -> Settings并搜索“观察者”选中该框。为我工作。
Shanimal

2
该死的,在Linux上疯狂地吞噬CPU。
abhi1010

9
@WonJunBae这是做什么的?请为您推荐的功能提供说明。
1.21吉瓦

4
VSCode 1.41.1上的未知配置设置
Josh Correia

1

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

(这里SUPERCommand在Mac和CtrlPC上)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.