Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Remote File System ExtensionsNew to Visual Studio Code? Get it now.
Remote File System Extensions

Remote File System Extensions

Mubarrat

|
11 installs
| (0) | Free
Secure virtual FTP/SFTP filesystem for VS Code. Edit remote files directly without downloading. Encrypted credential storage, atomic uploads, and Remote Window integration.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

rfsx — Remote File System eXtensions

A lightweight VS Code extension that exposes remote servers as a virtual filesystem using the FileSystemProvider API. Open and edit remote files directly in VS Code without downloading them to disk.

Quick Start

Remote Window (Recommended)

  1. Open the Remote Window (bottom-left corner of VS Code)
  2. Select "Connect to FTP/FTPS/FTPeS/SFTP…"
  3. Enter host → username → password
  4. The remote filesystem opens as a workspace

Files are streamed directly from the server. No implicit local copies are created.

Supported Protocols

URI Scheme Protocol Encryption Status Notes
ftp:// FTP None Stable Full feature set
ftps:// FTPS TLS Stable Full feature set
ftpes:// FTPES Explicit TLS Stable Full feature set
sftp:// SFTP SSH Experimental (works, but incomplete) Password auth only (no SSH key support yet)

Example URIs

ftp://example.com/
ftps://example.com/
ftpes://example.com/
sftp://user@example.com/

FTP is plaintext. Use FTPS or SFTP for secure connections.

Commands

Command Description
rfsx.connectToFtp Interactive FTP connect
rfsx.connectToFtps Interactive FTPS connect
rfsx.connectToFtpes Interactive FTPES connect
rfsx.connectToSftp Interactive SFTP connect
rfsx.manageCredentials List / test / remove saved credentials

Features

  • Virtual filesystem (no auto-downloads)
  • Secure credential storage via VS Code SecretStorage
  • Interactive QuickPick connect flow
  • Anonymous & username-only login where server allows (FTP/FTPS)
  • SFTP password authentication
  • Atomic uploads (temp file → rename)
  • Credential manager (list / test / delete)
  • Works as workspace folders (ftp://, sftp:// URIs)

Security

  • Credentials stored in VS Code SecretStorage (platform-encrypted)
  • Password saving is opt-in
  • No plaintext config files

Connect Flow

  1. Try stored credentials from SecretStorage
  2. Try username-only / empty password (if server allows)
  3. Prompt for password
  4. Optionally save credentials
  5. Mount remote root as workspace folder

Implementation Notes

  • FTP/FTPS/FTPeS provider: src/ftp/ using basic-ftp
  • SFTP provider: src/sftp/ using ssh2-sftp-client
  • Uploads: temp filename + atomic rename when supported
  • Streaming: files streamed to editor; avoid full memory buffering
  • Concurrency: per-connection queue to avoid race conditions
  • Errors: mapped to vscode.FileSystemError

Limitations & Non-Goals

  • No directory sync or mirroring
  • No deployment automation
  • No background sync/watch
  • No WebDAV support (by design)
  • Large files may be streamed in chunks depending on provider behavior

Contributing

  1. Fork the repo
  2. npm install
  3. npm run compile
  4. Add tests where possible
  5. Submit a PR with clear description

Open issues for bugs, UX feedback, or feature requests.

Troubleshooting

  • Verify host, port, protocol (FTPS vs FTPES)
  • Clear stale credentials via rfsx.manageCredentials
  • If you see "(control socket)" errors, retry. This is usually a server-side issue.

License

MIT License © 2025 Mubarrat

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft