SuperFTP
FTP/SFTP sync for VS Code with configurable timeouts for connection, upload and download.
Why SuperFTP
- Per-operation timeouts: besides
connectTimeout you can set uploadTimeout and downloadTimeout (also in the project JSON).
- Compatible with sftp.json config (same format): use your
.vscode/sftp.json as-is, or create .vscode/super-ftp.json.
- FTP and SFTP support (optional private key).
Configuration
Create .vscode/super-ftp.json (or use .vscode/sftp.json) in the workspace root:
{
"name": "my-server",
"host": "example.com",
"protocol": "ftp",
"port": 21,
"username": "user",
"password": "pass",
"remotePath": "/var/www",
"uploadOnSave": true,
"connectTimeout": 10000,
"uploadTimeout": 60000,
"downloadTimeout": 60000,
"ignore": [".git", ".vscode", "node_modules"]
}
- connectTimeout (ms): connection timeout (default 10000).
- uploadTimeout (ms): timeout for each single upload (default 60000).
- downloadTimeout (ms): timeout for each single download (default 60000).
The same timeouts can also be set in VS Code settings (SuperFTP: Connect/Upload/Download Timeout).
Commands
- SuperFTP: Upload File – upload the current (or selected) file
- SuperFTP: Upload Folder – upload the folder (right-click on folder)
- SuperFTP: Download File – download a remote file (enter remote path)
- SuperFTP: Sync Local → Remote – sync the whole project to the server
- SuperFTP: Show Config – open the config file
From the SuperFTP sidebar (Remote view): Download, Upload, Delete (remote only), view modes (Remote / Diff).
Publishing the extension
Install vsce (official tool):
npm install -g @vscode/vsce
From the super-ftp folder:
cd super-ftp
npm install
npm run compile
vsce package
This produces a .vsix file that you can install in VS Code via "Install from VSIX".
Publish to the Marketplace:
- Create a Personal Access Token on Azure DevOps with scope Marketplace → Manage.
- Create a publisher (once):
vsce create-publisher superftp-dev
- Publish:
vsce publish -p <token> or vsce login superftp-dev then vsce publish.
Publish to Open VSX (e.g. for VSCodium):
npx ovsx publish -p <token>
Development
npm run compile – compile TypeScript
npm run watch – watch compilation
- F5 in VS Code – launch Extension Development Host and test the extension
License
MIT