右键无SFTP菜单是因为未满足插件激活条件:必须通过Project→Add Folder to Project将本地文件夹加入项目并置于侧边栏顶层,右键对象只能是该文件夹图标本身,且须安装wbond官方SFTP插件并重启软件。

右键没 SFTP 菜单?先确认项目绑定和插件激活条件
Sublime Text 的 SFTP 插件不会在任意文件或空白处生效,它只响应“已添加到项目的顶层文件夹”——也就是侧边栏里那个带文件夹图标的条目。单个文件、未添加的目录、“打开文件夹”临时视图,全部不触发菜单。
必须通过 Project → Add Folder to Project 把本地目录加进当前项目,让它出现在侧边栏最上层;右键操作对象只能是那个文件夹图标本身。
- 安装的是 wbond 官方
SFTP插件(别选sftp-client或FTPSync) - 安装后必须重启 Sublime Text,否则
Project菜单里压根看不到SFTP项 - 插件只在有有效项目(即含
.sublime-project文件或至少一个已添加的文件夹)时才初始化菜单
sftp-config.json 不生效?路径、命名、字段全得对齐
这个文件不是全局配置,而是严格绑定到你右键的那个文件夹根目录下:sftp-config.json 必须小写、全拼、无空格、无额外后缀——SFTP-config.json、sftp_config.json、sftp-settings.json 全部无效。
remote_path 必须以 / 开头,结尾也建议加 /(如 "/var/www/html/"),否则路径拼接会偏移;ssh_key_file 支持 ~ 展开(如 "~/.ssh/id_rsa"),但不识别 $HOME 或环境变量。
- 用密钥登录时,
password字段必须完全删除,留空字符串("password": "")会导致插件仍走密码认证并失败 - Windows 下私钥必须是
.ppk格式(用 PuTTYgen 转换),原生id_rsa直接填路径无效 - Linux/macOS 下私钥权限必须是
600:chmod 600 ~/.ssh/id_rsa
连接成功但上传静默失败?查远程权限和 ignore_regexes
常见表现是:Ctrl+S 后无提示,右键 SFTP → Upload File 也无响应,控制台只显示 uploading... 然后卡住——这大概率不是网络问题,而是远程目录不可写或正则忽略规则误配。
检查 remote_path 对应路径是否存在且可写:ls -ld /var/www/html/project,再确认用户权限:sudo chown -R $USER:$USER /var/www/html/project 或 sudo chmod 755 /var/www/html/project。
-
ignore_regexes匹配的是“相对remote_path的路径字符串”,比如remote_path: "/var/www/html",改了src/js/main.js,插件实际比对的是src/js/main.js这个完整相对路径 - 正则末尾漏掉
/可能导致整个子目录被忽略(如"node_modules"会匹配node_modules_bak,应写成"node_modules/") - 如果服务器启用了
requiretty(某些云主机默认开启),非交互式 SFTP 写入会被阻断
upload_on_save 不触发?同步依赖项目结构和文件路径对齐
upload_on_save 不是全局开关,它只对“属于该 SFTP 项目的文件”生效,且要求当前文件路径能被映射到 remote_path 下。单纯打开一个文件,哪怕它在本地目录里,也不会触发上传。
必须满足三个隐性条件:upload_on_save 设为 true(放在 JSON 根层级)、当前文件属于已保存的项目(有 .sublime-project 文件)、本地文件路径与 remote_path 的层级结构能对齐(例如配了 "/var/www/html/",本地就得在 html/ 子目录下编辑)。
- 配置中可加
"timeout": 10提高网络抖动容忍度(默认仅 3 秒) - 上传后远程文件权限变成
600导致网页打不开?加"default_permissions": "644"控制文件权限 - 插件不校验、不回滚、不锁文件——
upload_on_save是单向覆盖,没有冲突解决机制
真正卡住的地方往往不在配置语法,而在 SSH 底层是否通、远程目录是否可写、本地路径是否被 ignore_regexes 意外吞掉——出问题时优先看 Ctrl+Shift+P → SFTP: Show Console 输出的真实命令和错误,而不是依赖弹窗提示。


















