更新记录
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双向同步选项拼写错误(bothDiretions→bothDirections) - 修复上传/下载扫描阶段出错时停止按钮永远不消失的问题
- 修复输入流报错时写入流未正确关闭导致 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使用介绍
使用步骤:
- 如下图,在项目管理器,新建一个空目录或空项目,然后选中
- 右键菜单,点击【Ftp: 创建连接配置】
- 系统自动创建
.ftp/ftp-sync.json配置文件 - 编辑
ftp-sync.json, 填写host(ip)、username(用户名)、password(密码)、port(端口)、protocol(协议) - 填写完配置文件,右键菜单,点击【Ftp: 浏览远程文件】
- 选择文件目录,进行
上传、下载、删除操作
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 服务,username 和 password 需要填写ftp的用户密码
sftp 不需要任何配置,开启 SSH 默认就开启了 SFTP。也就是说,如果您的远程服务器为 linux 系统,即使没有搭建 ftp 服务,也可以通过 sftp 连接,使用文件同步的服务。
- SSH/SFTP,默认端口为:22
- 使用sftp服务,
username和password,需要填写目标电脑的用户、密码
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

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(5)
下载 471
赞赏 5
下载 12235039
赞赏 1920
赞赏
京公网安备:11010802035340号