更新记录

2.0.8(2026-06-12) 下载此版本

  • 新增大文件传输百分比进度:上传/同步时,文件 ≥ 1MB 或单个文件传输超过 3 秒,状态栏自动显示该文件的百分比进度(每 500ms 刷新),避免用户误以为程序卡死
  • 新增下载百分比进度:下载/同步到本地时,文件 ≥ 1MB 或单个文件传输超过 3 秒,状态栏自动显示该文件的百分比进度(与上传行为一致)
  • 进度触发规则:体积(≥ 1MB)与超时(> 3 秒)满足任一条件即显示进度

2.0.6(2026-05-27) 下载此版本

  • 修复 context 路径配置错误时操作无响应且无提示的问题,现在会明确指出当前路径与已配置路径的差异
  • 修复 context 路径不存在时插件静默失败的问题,加载配置时立即给出警告
  • 修复找不到配置时触发操作导致崩溃的问题
  • 以上错误均新增弹窗提示,并引导用户查看控制台获取详细信息

2.0.5(2026-05-22) 下载此版本

  • 新增停止按钮:上传、下载、同步进行中时,状态栏显示 ■ 停止 按钮,点击可停止所有传输
  • 新增命令 Ftp:停止所有传输sftp.cancelAllTransfer
  • 修复停止后状态信息仍显示"上传完成"的问题,现在会正确显示"已停止"或"已取消"
  • 修复同步时删除操作不受停止控制、无进度反馈的问题
  • 修复 bothDirections 双向同步选项拼写错误(bothDiretionsbothDirections
  • 修复上传/下载扫描阶段出错时停止按钮永远不消失的问题
  • 修复输入流报错时写入流未正确关闭导致 SFTP 连接挂死的问题
  • 完善 README 配置参数文档,补全所有参数及默认值说明
查看更多

平台兼容性

HbuilderX/cli最低兼容版本
不确定

HBuilderX插件通用注意事项

HBuilderX-2.7.12以下版本安装插件市场内的插件后,卸载时需手动卸载,详细教程参考:如何手动卸载插件


SFTP/FTP Sync Plus

简介

  • 修复hbuilderX 4.23之后,SFTP/FTP Sync卡在“上传中”的问题
  • 彻底解决上传、同步卡住的问题,完善状态栏的提示信息,可以实时查看上传进度和结果
  • 解决同步内容错误的问题
  • 官网

SFTP/FTP Sync

需要 HBuilderX 2.7.12+ 版本

1. SFTP/FTP插件简介

此插件是vscode中流行的ftp插件,因HBuilderX兼容vscode的插件API,也可以在HBuilderX中使用。

  • 使用此插件,可将本地工作区文件,与FTP服务器或linux服务器文件同步。
  • 支持 ftp/sftp 协议
  • 支持远程文件目录 浏览上传下载删除
  • 支持 自动保存上传

2. SFTP/FTP使用介绍

使用步骤:

  1. 如下图,在项目管理器,新建一个空目录或空项目,然后选中
  2. 右键菜单,点击【Ftp: 创建连接配置】
  3. 系统自动创建 .ftp/ftp-sync.json 配置文件
  4. 编辑 ftp-sync.json, 填写 host(ip)username(用户名)password(密码)port(端口)protocol(协议)
  5. 填写完配置文件,右键菜单,点击【Ftp: 浏览远程文件】
  6. 选择文件目录,进行 上传下载删除 操作

2.1 创建SFTP/FTP配置文件

创建配置文件

2.2 同步目录

  • 从远程同步到本地
  • 从本地同步到远程

同步目录

2.3 本地编辑远程文件、删除远程文件

本地编辑远程文件

3. 配置文件参数说明

配置文件路径:项目根目录下的 .ftp/ftp-sync.json

注意:配置文件是放在项目下的普通 JSON 文件,存放着服务器账号。若你的项目使用三方 node 库,请注意其可靠性,避免账号泄露。

3.1 必填参数

参数 类型 说明
host string 服务器 IP 或域名
username string 登录用户名
remotePath string 远程根目录,默认 "./"

3.2 基础参数

参数 类型 默认值 说明
name string 配置名称,多配置时用于区分
protocol string "sftp" 协议:"sftp" / "ftp" / "local"
port integer 端口,sftp 默认 22,ftp 默认 21
password string | null 登录密码
connectTimeout integer 10000 连接超时(毫秒)
context string 本地根目录,默认为工作区根目录

3.3 行为参数

参数 类型 默认值 说明
uploadOnSave boolean false 保存文件时自动上传
downloadOnOpen boolean | "confirm" false 打开文件时自动下载,"confirm" 为询问
concurrency integer 4 并发传输数
remoteTimeOffsetInHours number 0 远程服务器时区偏移(小时),用于同步时 mtime 比对

3.4 文件过滤

参数 类型 默认值 说明
ignore string[] [] 忽略规则,glob 模式,如 [".git", "node_modules"]
ignoreFile string 外部 ignore 文件路径,如 ".gitignore"

3.5 文件监听(watcher)

参数 类型 默认值 说明
watcher.files string | false | null 监听的文件 glob,false 关闭
watcher.autoUpload boolean 文件变更时自动上传
watcher.autoDelete boolean 文件删除时自动同步删除远端

3.6 SFTP 专用参数

参数 类型 默认值 说明
agent string | null SSH agent socket 路径
privateKeyPath string | null 私钥文件路径,如 "~/.ssh/id_rsa"
passphrase string | true | null 私钥密码,true 表示运行时询问
interactiveAuth boolean false 启用键盘交互认证(双因素等)
algorithms object 自定义 SSH 加密算法,见 ssh2 文档
sshConfigPath string SSH config 文件路径,如 "~/.ssh/config"
sshCustomParams string 附加 SSH 命令行参数

3.7 FTP 专用参数

参数 类型 默认值 说明
secure boolean | "control" | "implicit" false 启用 FTPS:true 为显式 TLS,"implicit" 为隐式 TLS
secureOptions object | null Node.js TLS 选项,透传给底层 tls.connect
passive boolean 启用被动模式

3.8 同步选项(syncOption)

执行"同步"命令时生效,上传/下载命令不使用这些参数。

参数 类型 默认值 说明
syncOption.delete boolean false 删除目标端有、源端没有的文件
syncOption.skipCreate boolean false 跳过目标端不存在的文件(不新建)
syncOption.ignoreExisting boolean false 跳过两端都存在的文件
syncOption.update boolean false 两端都有时,只传比目标更新的文件
syncOption.bothDirections boolean false 双向同步:按 mtime 自动决定传输方向,目标端独有的文件也会同步过来

3.9 远程文件浏览器(remoteExplorer)

参数 类型 默认值 说明
remoteExplorer.filesExclude string[] 在远程文件浏览器中隐藏的文件,glob 模式

3.10 完整配置示例

{
    "name": "生产服务器",
    "host": "192.168.1.1",
    "protocol": "sftp",
    "port": 22,
    "username": "root",
    "password": "your_password",
    "remotePath": "/var/www/html",
    "uploadOnSave": false,
    "downloadOnOpen": false,
    "concurrency": 4,
    "ignore": [".git", "node_modules", ".ftp"],
    "syncOption": {
        "delete": false,
        "skipCreate": false,
        "ignoreExisting": false,
        "update": false
    }
}

4. SFTP/FTP协议说明

本插件支持FTP、sftp两种协议。

如果远程服务器,搭建了 ftp 服务,usernamepassword 需要填写ftp的用户密码

sftp 不需要任何配置,开启 SSH 默认就开启了 SFTP。也就是说,如果您的远程服务器为 linux 系统,即使没有搭建 ftp 服务,也可以通过 sftp 连接,使用文件同步的服务。

  • SSH/SFTP,默认端口为:22
  • 使用sftp服务,usernamepassword,需要填写目标电脑的用户、密码

5. SFTP/FTP 菜单配置快捷键

菜单【工具】【自定义快捷键】,即可对sftp相关菜单配置快捷键。

具体如下, 可以把 key 值改成自己想要的快捷键

[
    // 浏览远程文件
    {
        "key": "ctrl+shift+w",
        "command": "sftp.revealInRemoteExplorer"
    },
    // 同步远程数据到本地
    {
        "key": "ctrl+shift+r",
        "command": "sftp.sync.remoteToLocal"
    },
    // 同步本地数据到远程
    {
        "key": "ctrl+shift+l",
        "command": "sftp.sync.localToRemote"
    },
    // 上传当前文件夹
    {
        "key": "ctrl+shift+h",
        "command": "sftp.upload.folder"
    },
    // 下载当前文件夹
    {
        "key": "ctrl+shift+q",
        "command": "sftp.download.folder"
    },
    // 项目管理器 右键菜单 FTP: 上传选中文件
    {
        "key": "ctrl+shift+u",
        "command": "sftp.upload.file"
    },
    // 在本地编辑远程文件
    {
        "key": "ctrl+shift+e",
        "command": "sftp.remoteExplorer.editInLocal"
    },
    // 删除远程文件
    {
        "key": "ctrl+shift+d",
        "command": "sftp.delete.remote"
    },
    // 刷新
    {
        "key": "ctrl+shift+f",
        "command": "sftp.remoteExplorer.refresh"
    }
]

©2024-2026 Dfer.Site

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议