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

Jua*_*gui 88 visual-studio-code

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

但是,如果您在该文件上,则不会警告您有关文件更改的警告.

我一直在审查设置,我找不到像visual studio选项:

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

所以我的问题是:是否有任何隐藏的设置或一些黑客来发出警告.

更新

在Visual Studio Code 0.3.0版中解决.

  1. 如果编辑器没有更改,则将从磁盘更新该文件.(在流程执行期间读取日志文件非常有用)
  2. 如果您尝试使用VSCode保存文件时双方(从磁盘和编辑器)都有更改,编辑器将警告您这种情况(即"脏写"),文件比较将允许您决定该怎么办.

Ben*_*ero 53

如果该文件中的更改未保存到磁盘,VSCode将永远不会刷新该文件.但是,如果文件是打开的并且没有更改,则它将替换为磁盘上的更改,这是真的.

目前无法禁用此行为.

  • 其他编辑都有这个.某些文件可能被用户意外修改,但用户真正想要的是告诉该文件已在磁盘上更改并询问是否要重新加载,至少通过编辑器上的某个通知窗格. (43认同)
  • `File:Revert File`可用于从磁盘获取新内容. (13认同)
  • @Ingemar我真的很想给VSCode试一试(尤其是对于Angular intellisense),也许还要在VS2017和VSCode之间切换。我经常在VSCode中进行更改,但不保存,然后最终在VS2017中更改相同的文件。我会切换回VSCode并在更改后不小心重新保存文件(即使在关闭/重新打开后)。在短短几天内,我的更改至少消失了两次,一次,我终于弄清了为什么这对我来说几乎是VSCode的终结。保存自VSCode中打开后已进行外部修改的文件时,至少应警告VSCode。 (5认同)
  • 这个答案现在已经3岁了,有没有人就此问题开了?你能在这里发布链接吗? (4认同)
  • 其他编辑可能有这个,但即使关闭并重新打开VSCode,这种行为仍然存在,如果您不希望这种情况发生,这非常危险.你可能有10个文件打开,回到VS2017然后2天后再回到VSCode并做'全部保存'..... (3认同)
  • @BenjaminPasero 你应该将其发布为答案。按 Ctrl + Shift + P 打开命令面板,输入“revert”,然后按 Enter 键,它将刷新文件。我正在生成 json 文件作为我的应用程序的一部分,并尝试使用 VS Code 只是为了美化和查看它们,但如果没有这个命令,那就太烦人了。 (2认同)

Won*_*Bae 24

{
    "files.useExperimentalFileWatcher" : true
}
Run Code Online (Sandbox Code Playgroud)

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

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

  • @WonJunBae这是做什么的?请提供您推荐的此功能的说明. (9认同)
  • VSCode 1.41.1 上的未知配置设置 (6认同)
  • 版本1.28.2(1.28.2)`代码 - >首选项 - >设置`并搜索"观察者"选中此框.适合我. (5认同)
  • 它对我不起作用(Windows 10上的VSCode 1.26.1):当外部修改文件时,如果在代码中没有任何更改,则会以静默方式重新加载,否则它将不会执行任何操作然后当我尝试保存时它会警告我冲突,提供通过比较两个版本解决它.所有这一切都发生在`files.useExperimentalFileWatcher`,因为我已经尝试过true和false,我没有看到任何区别. (3认同)
  • 该死的,在Linux上疯狂地吞噬CPU。 (2认同)
  • 只要您不重新启动VSCode,这仍然有效。如果您保留文件未保存并稍后保存,则在VSCode重新启动后,在另一个编辑器中所做的任何更改都将丢失,而不会发出警告。 (2认同)

Dav*_*ong 12

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

(这里SUPERCommand在Mac和CtrlPC上)

  • 超级糟糕的命名! (6认同)
  • 不知道这是否是唯一的方法,但它是手动刷新文档的有效方法。 (2认同)