Interface FileSystem

The file system interface exposes the editor's built-in and contributed file system providers. It allows extensions to work with files from the local disk as well as files from remote places, like the remote extension host or ftp-servers.

Note that an instance of this interface is available as workspace.fs.

interface FileSystem {
    copy(source, target, options?): Thenable<void>;
    createDirectory(uri): Thenable<void>;
    delete(uri, options?): Thenable<void>;
    isWritableFileSystem(scheme): undefined | boolean;
    readDirectory(uri): Thenable<[string, FileType][]>;
    readFile(uri): Thenable<Uint8Array>;
    rename(source, target, options?): Thenable<void>;
    stat(uri): Thenable<FileStat>;
    writeFile(uri, content): Thenable<void>;
}

Methods

  • Copy files or folders.

    Parameters

    • source: Uri

      The existing file.

    • target: Uri
    • Optional options: {
          overwrite?: boolean;
      }

      Defines if existing files should be overwritten.

      • Optional overwrite?: boolean

    Returns Thenable<void>

  • Create a new directory (Note, that new files are created via write-calls).

    Note that missing directories are created automatically, e.g this call has mkdirp semantics.

    Parameters

    • uri: Uri

      The uri of the new folder.

    Returns Thenable<void>

  • Delete a file.

    Parameters

    • uri: Uri

      The resource that is to be deleted.

    • Optional options: {
          recursive?: boolean;
          useTrash?: boolean;
      }

      Defines if trash can should be used and if deletion of folders is recursive

      • Optional recursive?: boolean
      • Optional useTrash?: boolean

    Returns Thenable<void>

  • Check if a given file system supports writing files.

    Keep in mind that just because a file system supports writing, that does not mean that writes will always succeed. There may be permissions issues or other errors that prevent writing a file.

    Parameters

    • scheme: string

      The scheme of the filesystem, for example file or git.

    Returns undefined | boolean

    true if the file system supports writing, false if it does not support writing (i.e. it is readonly), and undefined if the editor does not know about the filesystem.

  • Rename a file or folder.

    Parameters

    • source: Uri
    • target: Uri
    • Optional options: {
          overwrite?: boolean;
      }

      Defines if existing files should be overwritten.

      • Optional overwrite?: boolean

    Returns Thenable<void>