
右键没看到 SFTP 菜单?先确认项目和插件状态
Sublime Text 安装完 SFTP 插件后,SFTP 菜单项不会自动出现——它只在有有效项目(Project)且侧边栏已加载文件夹时才激活。常见现象是:右键空白处或未打开任何文件夹时,菜单里压根没有 SFTP 选项。
- 必须通过
Project → Add Folder to Project添加本地目录,让该文件夹出现在侧边栏顶层 - 右键操作对象只能是侧边栏中**已显示的文件夹图标**,不是文件、不是空白处、也不是“无项目”状态下的任意位置
- 插件必须是官方版本(作者
wbond),名字带SFTP但非 wbond 发布的仿制品大概率不兼容 - 安装后务必重启 Sublime Text,否则插件可能未完成初始化
sftp-config.json 放哪、怎么写、为什么不能拼错
配置文件不是全局生效,而是严格绑定到当前项目根目录。插件只会读取你右键映射的那个文件夹下名为 sftp-config.json 的文件——大小写、短横线、扩展名缺一不可,写成 SFTP-config.json 或 sftp_config.json 都会静默失败。
- 生成方式:右键项目文件夹 →
SFTP → Map to Remote,它会自动创建并打开该文件 -
remote_path必须以/开头且结尾也推荐加/(如"/var/www/html/"),否则路径拼接可能出错 -
ssh_key_file支持~展开(如"~/.ssh/id_rsa"),但不识别$HOME或其他环境变量 - 用密钥登录时,
password字段必须完全删除,不能留空字符串,否则插件仍尝试密码认证
上传失败却没报错?打开控制台看真实错误
保存文件后没上传,弹窗提示又只有模糊的 Permission denied 或直接无声失败——这不是网络问题,而是插件底层调用 OpenSSH 时被拦截了,必须看原始日志才能定位。
- 按
Ctrl+Shift+P(macOS 是Cmd+Shift+P)→ 输入SFTP: Show Console回车,所有 ssh/sftp 命令和错误都会实时打印 - 常见真因:
ssh_key_file权限不是600(Linux/macOS 下chmod 600 ~/.ssh/id_rsa)、远程sshd_config关了PubkeyAuthentication yes、remote_path目录对当前用户不可写 - 即使你在终端能免密
ssh登录,SFTP 插件也不复用ssh-agent,所以别指望它“继承”你的登录状态
sync_down_on_open 和 upload_on_save 不是万能同步开关
这两个配置看着像“双向实时同步”,实际只是单向触发逻辑,没有锁、没有版本比对、也没有冲突解决能力。多人协作或服务端被其他方式修改时,极易覆盖内容。
-
sync_down_on_open只在你双击打开文件时拉一次远程最新版,之后编辑全程只走本地 → 远程,不检查中间是否又被改过 -
upload_on_save不校验上传结果,失败了也不会回滚或提醒,适合开发环境调试,但绝不该用于生产部署 - 安全底线:开启
"confirm_overwrite_newer": true,当本地文件比远程旧时会弹窗提醒;配合"ignore_regexes"排除.git、node_modules等非代码文件
sftp-config.json 是否在正确路径、权限是否合规、以及你有没有真的去看 SFTP: Show Console 里的那几行报错。










