不能。FTPSync从设计上不响应on_post_save_async事件,仅支持手动触发Upload File命令(默认Ctrl+Alt+U),不支持upload_on_save等自动逻辑;配置文件必须为全小写ftpsync.json并置于项目根目录,且需启用passive:true等关键字段。

FTPSync 能不能实现保存即上传
不能。FTPSync 从设计上就不响应 on_post_save_async 事件,它只认手动命令,比如 FTPSync: Upload File(默认快捷键 Ctrl+Alt+U)。如果你看到“保存就同步”的宣传,那要么是混淆了 SFTP 插件,要么是加了外部脚本包装——FTPSync 自身不支持 upload_on_save 或任何自动触发逻辑。
配置文件名和位置必须严格匹配
插件会静默忽略错误路径或拼写,不会报错也不会提示,这是最常卡住新手的地方。
-
ftpsync.json必须全小写、带 .json 后缀,FTPSync.json、ftpsync.config、ftpsync.json.bak全部无效 - 必须放在 Sublime 当前打开的「项目根目录」下,也就是侧边栏最顶层那个文件夹里
- 文件编码必须是 UTF-8 无 BOM,有 BOM 会导致 JSON 解析失败
被动模式(PASV)不启用,90% 连接会超时
多数共享主机、云虚拟主机或 NAT 后的服务器强制要求 FTP 使用被动模式。FTPSync 默认走主动模式(PORT),不显式开启 passive 就连不上,错误常表现为无日志、无弹窗、快捷键失灵。
- 在
ftpsync.json根对象里加这一行:"passive": true - 如果服务器还要求 TLS/SSL(FTPS),需额外设
"ftp_secure": true -
host字段不要带ftp://前缀,直接填域名或 IP -
remote_path必须以/开头,建议结尾也加/,比如"/public_html/"
密码含特殊字符?用 password_b64 替代 password
错误信息显示 530 Login authentication failed 却确认账号密码没错?大概率是 @、/、: 等字符没做 URL 编码,或者 FTP 服务端对明文密码解析出错。
- 删掉
password字段,改用password_b64 - 用命令行生成 Base64:Linux/macOS 执行
echo -n "your_pass" | base64;Windows 可用 PowerShell[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("your_pass")) -
exclusions只支持精确匹配或前缀,例如".git"有效,"*.log"无效
rsync + fswatch(macOS/Linux)或用 WinSCP 的同步任务,而不是指望插件内置功能。


















