A VS Code extension, and I'm giving it away
No assembly and no pixels today: this comes off the other workbench. Remote SFTP/FTP is a Visual Studio Code extension, I use it every day, and from today it's downloadable from here.
For years I've been moving files onto remote servers while developing, and for years it's been the same scene: you open the file with an FTP client, edit it in an editor that isn't the one you're using for the project, save, reload. Or you install one of the extensions that do the same thing, and discover that your production password ended up in clear text inside a JSON file in the project folder, one "git add ." away from the repository. I wrote it to get that off my desk, and since it works, I'm giving it away for free.
What it does. You configure the connection once, SFTP over SSH or FTP and FTPS, and the remote folder tree appears in the sidebar. You click a file, it opens; you hit Save, and the file is written back to the server. No local copy that two days later you can't tell is newer or older than the remote one, no sync job to launch and remember. A remote folder can even become the workspace root.
On SSH connections there's the remote terminal, and here's a detail I care about: the shell opens on the same connection already used for the files. No second login, no second password. The feature I use most, though, is search: you pick which folder to start from and what to look for, and if the SSH account has a shell the search runs directly on the server, with grep and find. Only the list of results crosses the network, not the files. You click a result and the file opens at the right line. On FTP, where no shell exists, the extension scans the folders from the client: slower, but it works. Then there's drag and drop, even between two different connections to copy from one server to another: in that case the data goes from one stream into the other without touching disk or memory, so a few-hundred-megabyte file is not a problem.
The three things I'm proudest of can't be seen, and they're the reason I wrote it. Passwords live in the system keychain, not in a file inside the project. The server key is verified against your known_hosts exactly the way ssh does it: if the host is new it shows you the fingerprint and asks, and if the key has changed it warns you explicitly, because that can be a legitimate rotation or someone in the middle. And saving doesn't overwrite behind your back: if a colleague touched that file after you opened it, the save stops before writing and you can compare the two versions.
A few limits, said up front. It's tested on macOS and Linux; not on Windows. Files over 16 megabytes don't open in the editor, and that's a VS Code constraint, it receives remote files as a single block: for those, use the download instead. An open SSH terminal doesn't survive a dropped connection and has to be reopened. And content search over FTP, as I said, is slower.
The licence is free for any use, commercial and inside companies included, with no registration and no limits on time or seats. It is not open source. The only thing I ask is that you don't redistribute the file elsewhere: link the page, so whoever installs it always gets the current version. Step-by-step install instructions are on the tool page. If you try it and something doesn't work, write to me.
That said: no, this isn't the surprise promised for September. That one is about the other workbench entirely, and it still holds.