Sublime Text需插件实现FTP上传,SFTP旧版(v3.4.3)或社区分支sftp3支持保存即上传,FTPSync仅手动上传且不支持自动同步;二者均需正确配置远程路径与认证方式。

Sublime Text 本身不支持 FTP 连接或实时同步上传,必须依赖插件;但官方已停止维护最常用的 SFTP 插件(2021 年起不再更新),当前稳定可用的替代方案是 Sync Settings 不适用此场景,真正能完成「编辑即上传」的只有 SFTP(旧版)或更现代的 FTPSync。
为什么 SFTP 插件还能用,但要手动安装旧版本
新版本 Sublime Text 4 默认禁用未签名插件,而 SFTP 的作者已终止更新,最新兼容版为 v3.4.3(支持 ST4)。直接通过 Package Control 搜索安装会得到失效版本或报错。
- 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),输入Package Control: Install Package后回车 - 搜索时不要输
SFTP,改搜sftp3—— 这是社区维护的兼容分支,持续更新至 2023 年 - 安装后需手动创建
sftp-config.json文件,路径为:项目根目录下新建文件,内容至少包含host、user、password或private_key - 注意:明文写
password不安全,建议用private_key+ssh_key_file配置
FTPSync 更轻量,但不支持保存自动上传
它不走 SFTP 协议,而是基于传统 FTP/FTPS,适合老式虚拟主机或只开放 FTP 端口(21)的环境。但它没有「编辑保存即上传」功能,必须手动触发 FTPSync: Upload File(快捷键 Ctrl+Alt+U)。
-
配置文件名为
ftpsync.json,放在项目根目录,必填字段包括host、username、password、remote_path - 若服务器启用了被动模式(PASV),必须显式设置
"passive": true,否则连接超时 - 不支持通配符排除(如跳过
.git),只能靠"exclusions"列出具体文件名或路径前缀 - 上传失败时错误信息常为
530 Login authentication failed,多因密码含特殊字符未 URL 编码,可尝试用 Base64 编码后填入password_b64
保存即上传的关键:用 sync_on_save 而不是幻想「实时监听」
Sublime 没有文件系统监听能力(不像 VS Code 的 chokidar),所有「自动上传」都是在 on_post_save_async 事件触发的,本质是「保存后立刻上传当前文件」,不是实时双向同步。
- 在
sftp-config.json中启用:"sync_on_save": true - 如果同时打开了多个同名文件(比如不同文件夹下的
index.php),可能误传到错误远程路径 —— 因为SFTP插件依赖当前视图的file_name()推导远程位置 - 上传大文件(>2MB)易中断,建议关闭
"confirm_downloads"和"confirm_renames"减少弹窗干扰,但无法提升传输稳定性 - 调试上传逻辑时,打开 Sublime 控制台(
Ctrl+`),看是否有SFTP: Uploading xxx或Permission denied (publickey)类日志
真正麻烦的从来不是装插件,而是远程路径映射规则——remote_path 写相对路径还是绝对路径、是否带 trailing slash、本地子目录如何对应远程子目录,这些细节一旦配错,上传就静默失败,连错误都不报。










