Sublime Text 远程编辑必须通过 SFTP 插件(ST4 用 SFTP-Next)、Project → Add Folder to Project 添加项目、右键文件夹触发 Map to Remote 自动生成 sftp-config.json 三者协同;否则右键无菜单、保存不上传、配置静默失效。

不能直接编辑,必须通过 SFTP 插件 + 正确项目绑定 + 自动生成配置文件三者协同才能生效;否则右键没菜单、保存不上传、配置静默失效都是常态。
为什么右键没有“SFTP”或“Map to Remote”选项
插件只响应「已加入项目的顶层文件夹」的右键操作。单个文件、桌面打开的文件、“打开文件夹”临时视图,全部无效。
- 必须通过
Project → Add Folder to Project把本地项目根目录加进项目,且该目录要出现在侧边栏最顶层 - 右键对象只能是那个文件夹图标本身,不是里面某个
.js文件,也不是侧边栏空白处 - Sublime Text 4(Build 41xx)必须装
SFTP-Next,原版SFTP会报ImportError: No module named 'urllib3' - 装完插件后务必重启 Sublime Text,否则
Project菜单里都看不到 SFTP 项
sftp-config.json 必须由插件自动生成,不能手写
这个文件不是全局配置,也不接受手动创建——插件只读取通过右键 Map to Remote… 在项目根目录自动生成的 sftp-config.json。名字、路径、内容格式错一个就失效。
- 文件名必须严格为
sftp-config.json(不能是SFTP-config.json、sftp_config.json或带空格) -
remote_path必须以/开头,结尾建议也加/(如"/var/www/html/"),否则路径拼接会偏移 -
ssh_key_file支持~展开(如"~/.ssh/id_rsa"),但不识别$HOME或其他环境变量 - 同时写了
password和ssh_key_file?SSH 层会直接拒绝,错误信息只显示Authentication failed,无具体提示
upload_on_save 不生效?盯住这四件事
实时同步不是开关一开就自动跑,它依赖隐性上下文:项目已保存、路径匹配、认证成功、超时容忍足够。
-
upload_on_save必须放在配置文件根层级,不能嵌套在files或sync_down_on_open下面 - 当前文件必须属于已保存的项目(即存在
.sublime-project文件),且该文件路径需能被remote_path规则覆盖(比如配了"/var/www/html/",但你在/src/index.js编辑,就不会上传) - 网络抖动或服务器响应慢时,默认 3 秒超时会导致静默失败;可在配置中加
"timeout": 10提高容错 - 首次连接会弹出主机指纹确认,必须点
Yes,否则后续所有操作都会卡住
编辑远程文件的两种真实路径
不是“打开服务器上某个文件”,而是“把本地文件映射到远程路径后保存即同步”。不存在真正意义上的远程编辑界面。
- 方式一(推荐):右键项目根目录 →
Map to Remote…→ 自动生成sftp-config.json→ 启用upload_on_save→ 修改本地文件并保存,自动上传 - 方式二(按需):右键项目根目录 →
Browse Server→ 浏览远程目录 → 右键文件选Download File→ 在本地打开编辑 → 保存即上传(适合只改一两个文件) - 注意:
sync_down_on_open是可选的,但开启后每次打开本地文件都会先拉一次远程版本,可能掩盖本地未提交的修改
最容易被忽略的是:sftp-config.json 必须和 .sublime-project 在同一级目录,且项目必须通过 Add Folder to Project 加入——这两点不满足,其他所有配置都是白忙。


















