RemoteStorm — Remote Deploy & Sync for VS Code
A PhpStorm-style deployment extension for VS Code. Map local folders to remote
servers and upload over SFTP / FTP / FTPS / WebDAV / Local, with upload on
save, git-changed upload, a remote file browser, diff, and full synchronization.
Quick start
F5 in this project to launch an Extension Development Host, or package
with npx @vscode/vsce package and install the .vsix.
- In your project run Deployer: Create Deployment Config (Command Palette).
It writes
.vscode/deployer.json.
- Edit the config (host, auth,
remotePath, mappings).
- Right-click a file/folder → Deployer: Upload, or enable
uploadOnSave.
Configuration (.vscode/deployer.json)
{
"ignore": [".git", "node_modules", "vendor", "storage", "*.log"],
"servers": [
{
"name": "development",
"protocol": "sftp", // sftp | ftp | ftps | webdav | local
"host": "dev.example.com",
"port": 22,
"username": "deploy",
"privateKeyPath": "~/.ssh/id_rsa", // or password / agent / sshConfig
"passphrase": "",
"agent": true, // use SSH_AUTH_SOCK
"sshConfig": "my-host", // resolve from ~/.ssh/config
"remotePath": "/var/www/html",
"context": "/", // local subfolder mapped to remotePath
"mappings": [
{ "local": "storage", "remote": "/var/www/html/storage" }
],
"uploadOnSave": true,
"default": true,
"compare": "time", // size | time | checksum
"preserveTimestamp": true,
"filePerm": 420, // 0o644
"dirPerm": 493, // 0o755
"ignore": ["*.local"]
},
{
"name": "production",
"protocol": "sftp",
"sshConfig": "prod",
"remotePath": "/var/www/html",
"production": true // warns before every upload
}
]
}
Proxy / jump host
"proxy": { "host": "bastion.example.com", "port": 22, "username": "jump" }
ProxyJump from ~/.ssh/config is also honoured automatically.
Commands
| Command |
What it does |
| Deployer: Create Deployment Config |
Scaffold .vscode/deployer.json |
| Deployer: Upload |
Upload file/folder (right-click, editor, multi-select) |
| Deployer: Download |
Download from the default server |
| Deployer: Upload Git Changed Files |
Upload every git-modified file (preview list) |
| Deployer: Compare with Remote |
Diff local vs remote in VS Code's diff editor |
| Deployer: Sync Local → Remote / Remote → Local |
Preview + apply full sync |
| Deployer: Set Default Server |
Switch active target (Dev/Staging/Prod) |
| Deployer: Refresh Remote Explorer |
Reload the remote tree |
| Deployer: Show Transfer Log |
Open the transfer/error log |
Views
- Servers — all configured targets; ⭐ marks the default, ⚠ marks production.
- Remote Explorer — browse the default server: open/edit, download, new
file/folder, rename, delete.
Remote editing
Click a file in Remote Explorer to open a cached local copy; save writes it
straight back to the server.
See ROADMAP.md for the full PhpStorm feature-parity checklist and status.