Async VFS Disk Writes: What Plugin Authors Should Check

Hi everyone,

We published a short guide about a VFS behavior change that may affect some plugins:

The case to check is fairly specific: your plugin saves through VFS, then immediately hands the same file to something that reads from disk directly.

For example:

  • an external formatter or linter
  • a compiler, test runner, or VCS command
  • Java file APIs such as Path, File, or NIO
  • tests that write through VFS and then assert through NIO

If the next read also goes through VFS, you should be fine. If the next read goes to disk, call ManagingFS.getInstance().flushPendingUpdates() before that handoff.

Short version: stay in VFS, or flush before leaving it.

3 Likes