Virgo Auto-FTP
Virgo Auto-FTP is a powerful, secure, and intelligent VS Code extension designed to streamline your workflow by automatically uploading your files to an FTP/SFTP server the moment you create, change, or save them.
Built for modern development needs, it supports concurrent uploads, automatic retries, smart path mapping, and enterprise-grade credential security.
🚀 Key Features
- ⚡ Instant Auto-Upload: Detects file creation (new files, copy-paste) and modifications instantly.
- 🔒 Enterprise-Grade Security: No more storing passwords in plain text! Leverages your operating system's secure vault (Credential Manager) to store your sensitive FTP/SFTP passwords.
- 🚀 Concurrent Uploads: Upload multiple files simultaneously with a configurable queue system. Perfect for syncing large projects.
- 🔄 Smart Retry Mechanism: Network hiccup? No problem. The extension automatically retries failed uploads with intelligent backoff.
- 📂 Smart Path Mapping: Map a local subfolder (e.g.,
public_html) directly to your remote server's root using localRoot.
- Protocol Support: Full support for both FTP and SFTP.
🔐 Secure Credentials (The "No-Brainer" Security)
We believe that security shouldn't be optional. Unlike other extensions that force you to expose your passwords in a json file which usually ends up in your Git history, Virgo Auto-FTP takes a different approach.
How it works:
- Clean Configuration: You DO NOT write your password in the
.virgo-ftp.json file. Keep it clean.
- OS-Integration: The first time you try to upload a file, VS Code will securely prompt you for your password.
- Encrypted Storage: Your password is encrypted and stored deep within your operating system's secure enclave (Windows Credential Manager, macOS Keychain, or Linux Gnome Keyring).
- Set and Forget: The extension securely retrieves the token from your OS vault for subsequent sessions. You never have to worry about accidental leaks again.
⚙️ Configuration
Create a .virgo-ftp.json file in the root of your workspace.
{
"host": "ftp.example.com",
"port": 22,
"user": "virgouser",
"protocol": "sftp",
"remotePath": "/var/www/html",
"localRoot": "public_html",
"uploadOnSave": true,
"concurrency": 10,
"retries": 3,
"ignore": [
".git",
".vscode",
"node_modules",
"**/*.log",
".virgo-ftp.json"
]
}
Configuration Options
| Option |
Description |
Default |
host |
Your FTP/SFTP server address. |
Required |
user |
Your FTP/SFTP username. |
Required |
protocol |
sftp (recommended) or ftp. |
Required |
remotePath |
The target folder on your server. |
/ |
localRoot |
(New) Maps a local folder to the remote root. E.g., setting "localRoot": "public_html" means files inside public_html are uploaded to remotePath, stripping the public_html prefix. |
"" |
concurrency |
(New) How many files to upload in parallel. Increase this for faster bulk uploads. settings this to 1 ensures strict sequential order. |
5 |
retries |
(New) How many times to retry a failed upload before giving up. |
3 |
password |
DEPRECATED & DANGEROUS. Do not use. Use the secure prompt instead. |
undefined |
🛠 Advanced Capabilities
⚡ Concurrent Upload Queue
Virgo Auto-FTP uses a smart queue system. If you copy-paste 50 files into your project, it won't crash your editor or getting banned by the server. It will queue them up and process them in parallel batches (defined by concurrency), ensuring maximum speed without overwhelming the connection.
🔄 Reliability & Auto-Retry
Network connections can be flaky. If an upload fails (e.g., ECONNRESET), the extension waits 1 second and tries again. It repeats this process up to the limit configured in retries (default: 3). You can code with peace of mind knowing your files will get there.
🕵️ File System Watcher
We don't just listen for Ctrl+S. We watch the file system.
- New File: Created a new file? Uploaded.
- Copy/Paste: Pasted a folder of images? All uploaded recursively.
- External Changes: Changed a file via another tool? Uploaded.
📦 usage
- Install the extension.
- Add
.virgo-ftp.json to your project root (and add it to .gitignore!).
- Start coding! Your files travel to the server securely and automatically.
Commands
Virgo FTP: Upload Current File: Manually upload the currently open file.
Virgo Auto-FTP — Secure, Fast, and Reliable.
Virgo Internet Services Ltd.
Mustafa Odabaşı
modabasi@virgo.com.tr