You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS Code远程编辑保存文件时自动创建本地副本?

实现VS Code远程编辑时自动备份文件到本地

当然可以实现,以下是几种无需手动scp的方案:

方案一:自定义VS Code任务+同步脚本

  1. 本地创建备份目录,比如 ~/remote-backups
  2. 在远程工作区根目录创建同步脚本 sync-to-local.sh,内容如下(替换成你的本地路径和远程用户信息):
#!/bin/bash
REMOTE_FILE="$1"
# 本地备份目录,确保替换为你的实际路径
LOCAL_BACKUP_DIR="$HOME/remote-backups$(dirname "$REMOTE_FILE")"
mkdir -p "$LOCAL_BACKUP_DIR"
# 建议提前配置远程到本地的免密SSH登录,避免每次输入密码
scp "$REMOTE_FILE" "本地用户名@本地IP:$LOCAL_BACKUP_DIR/"
  1. 给脚本添加执行权限:chmod +x sync-to-local.sh
  2. 打开远程工作区的 .vscode/tasks.json,添加自动触发的任务:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Auto Backup Remote File",
            "type": "shell",
            "command": "${workspaceFolder}/sync-to-local.sh ${file}",
            "trigger": "onDidSaveExecution",
            "runOptions": {
                "instanceLimit": 1
            }
        }
    ]
}

配置后,每次保存远程文件时,脚本会自动将文件同步到本地对应目录。

方案二:使用VS Code同步扩展

  • 安装Sync-Rsync扩展,配置远程路径和本地备份路径,设置触发条件为文件保存,开启单向同步(远程→本地)即可。
  • 或者选择Remote Sync扩展,在设置中指定同步方向为远程到本地,触发事件设为onSave,无需手动编写脚本。

方案三:挂载远程目录+本地监听同步

  1. 用sshfs将远程目录挂载到本地:
sshfs 远程用户名@远程IP:/远程cpp文件目录 ~/remote-mounted
  1. 本地编写监听脚本(以Linux为例),监听挂载目录的文件保存事件并自动备份:
#!/bin/bash
WATCH_DIR="$HOME/remote-mounted"
BACKUP_DIR="$HOME/remote-backups"
inotifywait -m -r -e close_write "$WATCH_DIR" | while read -r _ _ file_path; do
    relative_path="${file_path#$WATCH_DIR/}"
    local_backup_path="$BACKUP_DIR/$relative_path"
    mkdir -p "$(dirname "$local_backup_path")"
    cp "$file_path" "$local_backup_path"
done

运行这个脚本后,任何对挂载目录文件的修改(包括VS Code保存操作)都会自动同步到本地备份目录。

内容的提问来源于stack exchange,提问作者shekhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 21:55:00