Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>RemoteSync - Safe SFTP & Remote DeployNew to Visual Studio Code? Get it now.
RemoteSync - Safe SFTP & Remote Deploy

RemoteSync - Safe SFTP & Remote Deploy

The Craft Build

| (0) | Free
Edit, sync and safely deploy files to remote servers directly from VS Code. Know exactly what reached your server.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

RemoteSync — Safe SFTP & Remote Deploy

Know exactly what reached your server.

Edit, sync and safely deploy files to remote servers directly from VS Code.

Coming from SFTP / vscode-sftp? Import your existing .vscode/sftp.json in one click. Passwords move to your system keychain.

Why RemoteSync

  • Upload on save you can trust. Every save ends as ✓ uploaded, ⚠ skipped, ↻ retrying or ✕ failed — never silence. Uploads are verified by size on the server.
  • No half-written files. Uploads go to a temporary file and are swapped into place only when complete. A dropped connection never leaves a broken file on your live site.
  • Survives Wi-Fi drops. Lost connections reconnect and retry automatically, then report clearly if they give up.
  • No passwords in project files. Secrets live in the OS keychain via VS Code SecretStorage.
  • Production looks dangerous. Production asks before uploading, never deletes by default, and needs you to type DELETE for removals.
  • Preview before every folder deploy. See exactly what will upload, overwrite, delete or skip — then approve.
  • Conflict detection. Warns before you overwrite a server file someone changed since your last sync.
  • History. Every transfer is recorded, across restarts.

Getting started

  1. Open your project folder.
  2. Open the RemoteSync view in the activity bar → Add SFTP Server.
  3. Fill in host, username, remote folder and login. Click Test Connection. Save.
  4. Edit a file and save. Watch the status bar: ✓ index.php → My Server.

Configuration

Settings live in .vscode/remotesync.json (autocomplete included). Passwords are never stored there.

{
  "version": 1,
  "connections": [
    {
      "id": "production",
      "name": "Production",
      "environment": "production",
      "host": "example.com",
      "username": "deploy",
      "remotePath": "/var/www/site",
      "authentication": { "type": "privateKey", "privateKeyPath": "~/.ssh/id_ed25519" },
      "watch": ["dist/**"],
      "ignore": [".git/**", "node_modules/**", ".vscode/**", ".env"]
    }
  ]
}
Setting Values Default
environment development, test, staging, production, custom development
uploadOnSave off, ask, automatic ask on staging/production, automatic elsewhere
remoteDelete off, ask, mirror off
compareMode fast, safe, checksum safe
conflictDetection true / false true
watch globs uploaded when changed outside the editor none

Authentication: password, privateKey, agent (SSH agent plus your ~/.ssh/config keys), keyboardInteractive (one-time codes). Host aliases from ~/.ssh/config work as the host.

Commands

Add / Edit / Test / Connect / Disconnect · Upload / Download File · Upload / Download Folder · Preview Local → Remote · Preview Remote → Local · Compare Local ↔ Remote · Retry Failed Transfers · Show Transfer History · Show Diagnostics · Copy Diagnostic Report · Restart File Watcher · Import Existing sftp.json

Not yet supported

FTP/FTPS, jump hosts (ProxyJump), rollback, Git-change deploys. SFTP comes first, done well.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft