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

Remote Deploy

Piu

|
6 installs
| (1) | Free
Deploy local workspace files to an SFTP server.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Remote Deploy

VS Code extension to upload local workspace files to an SFTP remote host, following the Deployment/Remote Deploy workflow from PhpStorm.

Features

  • Create SFTP profiles using Password, SSH key pair, or OpenSSH config + authentication agent.
  • Edit an existing profile from the Command Palette or the right-click menu on a profile in the Remote Deploy sidebar.
  • Store passwords using VS Code SecretStorage.
  • Upload a file/folder from Explorer or the Command Palette.
  • Upload the entire workspace.
  • Remote Deploy sidebar structured as Profile → Remote root → files/folders, always sorting folders before files.
  • Double-click a remote file to open it directly in the editor; Ctrl+S writes the file back to the remote host.
  • Compare a remote file with the local one using the VS Code Diff Viewer.
  • Upload a local file directly into a selected remote directory via Upload Here.
  • Create directories, rename, and delete remote files/folders (with confirmation before deletion).
  • Upload on save: off, explicit save only, or always upload.
  • Local/remote mapping, exclude globs, and temporary upload + rename.
  • OpenSSH aliases use the native sftp binary, so they inherit ~/.ssh/config, ssh-agent, ProxyJump, and known_hosts.

Running the extension for development

npm install
npm run compile
npm test
npm run package

Open the remote-deploy folder in VS Code and press F5. In the Extension Development Host, run Remote Deploy: Add Profile from the Command Palette.

Sample configuration

{
  "remoteDeploy.profiles": [
    {
      "name": "staging",
      "protocol": "sftp",
      "host": "staging.example.com",
      "port": 22,
      "username": "deploy",
      "authentication": { "type": "keyPair", "privateKeyPath": "~/.ssh/id_ed25519" },
      "localRoot": "${workspaceFolder}",
      "remoteRoot": "/var/www/app",
      "uploadOnSave": "explicitSave",
      "useTemporaryFile": true,
      "exclude": ["**/.git/**", "**/node_modules/**"]
    }
  ],
  "remoteDeploy.defaultProfile": "staging"
}

With OpenSSH config, use authentication: { "type": "openSshConfig", "host": "my-staging" }. Host, key, agent, and jump host details are read from ~/.ssh/config.

Design documentation and the roadmap are kept in project-overview.md in the source repository.

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