I see requests for this a lot. Is there a reason not to just do this at the OS level, with FUSE (sshfs) or GVFS or something - then it'll just work everywhere?
I can't see why every editor should be implementing filesystem stuff?
Why not use some tool for that and decouple it from your editor requirements? I leave a gulp task running when I have to use ftp work to just mirror my git branch https://www.npmjs.com/package/vinyl-ftp
I use a rsync-based script to upload only changed files. In large projects rsync takes some time to find changed files so I wrote another script that finds them by modified time and passes a list to rsync.
I can use rsync, I'd rather it all integrated. I don't think this is a big request here, as every other editor has at least a functional plugin for this.
I've found the ftp-sync extension's sftp support adequate for my use so far. I've definitely found full-syncs to be a bit slow when there's a lot of stuff in the folder, but it seems ok so far.
I don't know if there is any shared host cheaper than that (I suppose there are but I'm too lazy to check right now), but sometimes the appeal in using a shared host is in some of their features which you don't get in a VPS (e.g.: cpanel).
I can't see why every editor should be implementing filesystem stuff?