Remote SFTP/FTP
Připojení k serveru přes SFTP/SSH a FTP/FTPS přímo z VS Code — strom souborů v boční liště, editace s automatickým uploadem při uložení, a integrovaný SSH terminál.

Funkce
- SFTP/SSH i FTP/FTPS v jednom rozšíření — adaptér se přizpůsobí serveru (plný shell na VPS, SFTP-only na sdíleném hostingu).
- Strom serveru v boční liště — procházení, otevírání a editace souborů.
- Upload při uložení —
Cmd/Ctrl+S nahraje soubor zpět na server.
- Integrovaný SSH terminál — i přímo v dané složce (pravý klik → Open in Terminal).
- Více profilů připojení s rychlým přepínáním a reconnectem.
- CRUD přes pravý klik — nová složka/soubor, přejmenování, mazání, upload/download.
- Drag & drop souborů i složek z Exploreru (nebo plochy) na server — rekurzivně.
- Bezpečné ukládání hesel a passphrase přes
vscode.SecretStorage — nikdy do settings.json.
Ovládání
- Profily: panel Profily —
+ přidá profil; inline ikony Connect / Edit / Delete. Klik na profil ho rovnou připojí. Profily se ukládají do globálních User settings; smazání profilu vyčistí i jeho tajemství.
- Soubory: klik otevře v editoru;
Cmd/Ctrl+S = upload.
- Terminál: tlačítko v hlavičce view (jen SFTP/SSH). Pravý klik na složku → Open in Terminal.
- Klávesy ve stromu (panel Server ve fokusu):
F2 přejmenovat, Delete / Cmd+⌫ smazat, Cmd/Ctrl+N nový soubor, Cmd/Ctrl+R obnovit.
- Reconnect: command „SFTP: Reconnect" připojí naposledy použitý profil.
Příklad profilů (settings.json)
"sftp.profiles": [
{
"name": "muj-vps",
"protocol": "sftp",
"host": "1.2.3.4",
"username": "user",
"authMethod": "key",
"privateKeyPath": "/Users/user/.ssh/id_ed25519",
"remoteRoot": "/var/www",
"ignore": ["*.log", ".git", "node_modules"]
},
{
"name": "hosting-ftps",
"protocol": "ftp",
"host": "ftp.example.com",
"username": "web",
"authMethod": "password",
"secure": true
}
]
Hesla a passphrase se zadávají za běhu a ukládají do vscode.SecretStorage — nikdy do settings.
Známá omezení
- SFTP read/write načítá soubor celý do paměti (velmi velké soubory → pozor). FTP streamuje.
- Host key u SSH se zatím jen loguje (fingerprint v Output kanálu), neukládá se do known_hosts.
- Jedno aktivní připojení v daný okamžik; přepnutí profilu staré odpojí.
Licence
MIT