upload_on_save在弱网下频繁失败是因为SFTP插件默认同步上传模式会阻塞保存操作,弱网易触发超时、TCP重传堆积或SSH中断,导致“Upload failed”且本地与远程内容不一致;应改用sync_down_on_open+手动上传,并调低connect_timeout、启用compression、禁用rsub。

为什么 upload_on_save 在弱网下频繁失败
因为 SFTP 插件默认使用同步上传模式,upload_on_save 会阻塞保存操作,直到文件完整传到服务器并校验成功。弱网下容易超时(默认 connect_timeout 是 10 秒)、TCP 重传堆积、或 SSH 通道被中间设备中断,最终导致 Sublime 弹出错误提示“Upload failed”,文件却已部分写入——本地缓存和远程内容不一致。
改用 sync_down_on_open + manual upload 更可靠
关闭自动上传,改为主动控制同步时机,能避开弱网下的随机中断点:
-
upload_on_save设为false -
sync_down_on_open保持true,确保每次打开文件都拉取最新版 - 编辑完按
Ctrl+S仅保存本地副本,不触发上传 - 右键文件 →
SFTP → Upload File,此时可专注等待单次上传完成;失败时重试成本低,且不会污染远程状态
调低超时与启用压缩减少传输量
在 sftp-config.json 中调整关键参数:
-
"connect_timeout": 30(避免秒断,给弱网留缓冲) -
"upload_delay": 500(防快速连点触发并发冲突) -
"compression": true(对文本文件有效,尤其含大量注释或空格时) - 删掉
"ignore_regexes"中过于宽泛的规则(如".*\.log$"),避免插件扫描耗时过长卡住主线程)
别用 RemoteSublime(rsub)碰弱网
rsub 依赖稳定的 SSH 反向隧道,一旦网络抖动,rsub 进程在远程端可能静默退出,而本地 Sublime 不报错、只卡在“正在连接…”或直接空白;更糟的是,它不支持断点续传,保存失败即丢失全部修改。弱网下应彻底禁用 rsub,只走 SFTP 的显式上传路径。
弱网的本质不是带宽低,而是丢包率高、RTT 波动大。所有自动同步机制都假设连接可信,而现实里最常出问题的,恰恰是那些你没看见的重传和重连逻辑。


















