VScode sftp插件使用【文件修改,重命名,删除均可自动同步】

先说目前已探明的功能,以及不能做到的事情

YES:

1. local 文件修改 自动/手动 推到remote

2. local文件重命名和删除 自动推到remote

3. 远端修改了文件,可以sync到本地

NO:

远端删除了一个文件是不能sync到本地的,至少我通过执行sync Remote --> local没有任何变化

(如果谁能请告诉我咋弄,感激不尽)

下面结合具体使用场景说一下这个工具怎么用

首先,代码啥的肯定都是在远程服务器上的,本想通过映射到本地驱动器来搞的,以前就是这么干的,最近不知为何网速不稳定,经常一卡一卡的

严重影响体验和工作效率,因此这才转向于sftp插件的帮助。

step1. 本地建立一个目录,用来存放远端服务器上的代码的副本,后面就基于这些副本在本地改动,然后把改动sync到远端

step2. 下载好插件后,ctrl+shift+P调出命令栏,输入sftp:config, 这个时候蹦出一个sftp.json配置文件

配置文件是最重要的,建议直接按照下面给的例子来配

这个例子算是能够比较好的满足我的需求了,它能处理以下需求:

1.  uploadOnSave": true 表明本地的修改在ctrl + S后会自动同步到远端

2.  "watcher": { "files": "GIT_EVERYDAY/*", "autoUpload": true, "autoDelete": true } 表明会监视/home/pi/GitPrac / GIT_EVERYDAY下面的所有文件的重命名和删除

的改动,并自动同步到远端

3. 可以管理两个目录的代码sync需求

[
    {
        "name": "My Pi Server",
        "context": "GitPrac",
        "host": "192.168.43.88",
        "protocol": "sftp",
        "port": 22,
        "username": "pi",
        "password": "access",
        "remotePath": "/home/pi/GitPrac",
        "uploadOnSave": true,
        "watcher": {
            "files": "GIT_EVERYDAY/*",
            "autoUpload": true,
            "autoDelete": true
        }, 
        "ignore": [
            "**/.git/**"
        ]
    },
    {
        "name": "My Pi Server",
        "context": "libpal",
        "host": "192.168.43.88",
        "protocol": "sftp",
        "port": 22,
        "username": "pi",
        "password": "access",
        "remotePath": "/home/pi/Bridge",
        "uploadOnSave": false,
        "watcher": {
            "files": "*",
            "autoUpload": true,
            "autoDelete": true
        },
        "ignore": [
            "**/.git/**"
        ]
    }
]

最后说一下使用规范,因为远端的删除操作貌似不能同步到本地,所以我一般这样操作来work around这个限制

那就是,所有文件的修改工作均为单向的,即从local 推改动到remote,不在remote端进行任何文件的改动

这样操作可以解决我在树莓派上的开发需求,但是还有一个场景。那就是我在家隔离办公,操作了local的改动到远端,然后到了公司

我是通过网络驱动器映射到本地来干活的,也就是说我会直接在远端服务器上对文件进行改动,这样一来,我再次回到家后,远端可能存在的

删除操作就无法同步过来了,因此,在上述场景下,需要回家后清掉本地的目录,从远端重新download对应的project,这样一来才可以保证同步。

原文地址:https://www.cnblogs.com/Arnold-Zhang/p/12634847.html