右键没出现SFTP菜单,是因为插件仅响应已通过Project→Add Folder to Project添加并显示在侧边栏顶层的文件夹图标;Sublime Text 4需装SFTP-Next,安装后必须重启,且sftp-config.json须严格命名为全小写带连字符的JSON文件并置于该文件夹根目录。

右键没出现 SFTP 菜单?先确认项目是否真正绑定
Sublime Text 不会在单个文件或“打开文件夹”视图里激活 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 放错位置 or 名字写错 = 配置完全失效
这个文件不是全局配置,也不是你手动新建后随便放哪儿都行的。它是插件唯一认的“凭证”,必须严格满足四点:
- 文件名必须是
sftp-config.json(全小写、带连字符、.json小写),不能是SFTP-config.json或sftp_config.json - 必须放在你右键的那个本地项目根目录下,不能在子目录,也不能扔进
Packages或用户目录 -
remote_path必须以/开头,结尾也建议加/(如"/var/www/html/"),否则路径拼接会偏移 -
ssh_key_file支持~展开(如"~/.ssh/id_rsa"),但不识别$HOME或其他环境变量
upload_on_save 不生效?检查这四个隐性条件
开关设成 true ≠ 自动上传。它依赖一组运行时上下文,缺一不可:
-
upload_on_save必须放在配置文件根层级,不能嵌套在files或sync_down_on_open下面 - 当前编辑的文件必须属于已保存的项目(即存在
.sublime-project文件) - 该文件路径需能被
remote_path规则覆盖(比如配了"/var/www/html/",但你在/src/index.js编辑,就不会上传) - 默认超时仅 3 秒,网络抖动或服务器响应慢时会静默失败;可在配置中加
"timeout": 10提高容错
用密钥登录却提示 Authentication failed?密码字段没删干净
SSH 层对认证方式很敏感:如果同时写了 password 和 ssh_key_file,它会直接拒绝连接,错误只显示 Authentication failed,不告诉你具体原因。
- 用密钥登录时,必须彻底删掉
password字段,只留ssh_key_file - Linux/macOS 下私钥权限必须是
600(chmod 600 ~/.ssh/id_rsa),否则 SSH 拒绝读取 - Windows 路径写法要用正斜杠或双反斜杠:
"C:/Users/xxx/.ssh/id_rsa"或"C:\Users\xxx\.ssh\id_rsa" - 服务器端需确认
Subsystem sftp /usr/lib/openssh/sftp-server已启用,且用户有对应目录读写权限
实际跑通的关键不在插件装没装,而在项目绑定、配置文件生成位置、SSH 认证三者是否全部对齐。任何一步偏差都会导致“看起来配置完了,但就是不动”。











