sublime text 本身不支持 ftp/sftp,所有远程连接均依赖插件;st4 必须装 sftp-next(build 41xx),st3 装原版 sftp;sftp-config.json 必须通过右键项目根目录“map to remote…”生成,且 host、user、remote_path 为必填项,upload_on_save 需设为 true 才启用自动上传。

Sublime Text 本身不支持 FTP/SFTP,所谓“连接”只是通过插件模拟下载→编辑→上传流程;真要稳定用,必须装对插件、绑对项目、配对 sftp-config.json,三者缺一不可。
怎么确认该装 SFTP 还是 SFTP-Next
打开 Help → About Sublime Text 看 Build 号:
- Build 41xx(如
4143)→ 是 ST4,必须装SFTP-Next;装原版会报ImportError: No module named 'urllib3' - Build 3xxx(如
3211)→ 是 ST3,装作者wbond的原版SFTP即可;别选sftp-client或FTPSync - 命令面板搜不到
SFTP?先按Ctrl+Shift+P输入Install Package Control补装管理器
sftp-config.json 必须由右键生成,不能手建
插件只认“右键项目根目录 → SFTP/FTP → Map to Remote…”这一步触发的配置文件,手动新建一个空的 sftp-config.json,哪怕内容完全正确,也会被静默忽略。
- 先通过
Project → Add Folder to Project把本地文件夹加进侧边栏(确保它是顶层文件夹) - 右键这个文件夹图标本身 →
SFTP/FTP → Map to Remote…,自动生成配置并绑定路径 - 文件名必须是
sftp-config.json(全小写、带连字符、.json 小写),不能是SFTP-config.json或sftp_config.json - 必须放在你右键的那个文件夹根目录下,不能在子目录、不能放错位置
host/user/remote_path 缺一不可,认证方式只能二选一
漏掉 host、user 或 remote_path,直接报 Connection failed: Invalid config;更隐蔽的问题出在认证字段冲突:
- 服务器禁密码登录(
PasswordAuthentication no)?那就不能填password,必须用ssh_key_file,且值是绝对路径:/home/me/.ssh/id_rsa(Linux/macOS)或C:/Users/me/.ssh/id_rsa(Windows) -
ssh_key_file文件权限不是600(Linux/macOS 下执行chmod 600 ~/.ssh/id_rsa)→ 认证失败,但错误信息只显示Authentication failed -
remote_path必须以/开头,结尾建议也加/(如"/var/www/html/"),否则路径拼接会偏移 - 同时写了
password和ssh_key_file→ SSH 层直接拒绝连接,不会提示具体原因
upload_on_save 不生效?检查项目绑定和 remote_path 范围
upload_on_save 只对已映射目录下的文件生效,不是全局开关:
- 没项目(只打开单个文件或桌面
.txt)→ 配置完全无效,upload_on_save不触发 - 文件不在你右键映射的那个本地文件夹内 → 保存不会上传
- 配置里
remote_path写成"remote_path": "var/www/html"(缺开头/)→ 实际上传路径变成/your-local-path/var/www/html,文件“消失”了 - 想让打开文件时自动拉取最新版,加
"sync_down_on_open": true,但注意:它只对首次打开有效,后续修改仍靠upload_on_save
最常被忽略的是:SFTP 插件没有真正的“实时连接”,每次保存都是独立上传动作,大文件容易超时、中断后可能留损坏副本;remote_path 末尾斜杠、ssh_key_file 权限、项目是否真正绑定——这三个点卡住 90% 的人。











