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需求

1[ 2 { 3 "name": "My Pi Server", 4 "context": "GitPrac", 5 "host": "192.168.43.88", 6 "protocol": "sftp", 7 "port": 22, 8 "username": "pi", 9 "password": "access", 10 "remotePath": "/home/pi/GitPrac", 11 "uploadOnSave": true, 12 "watcher": { 13 "files": "GIT_EVERYDAY/*", 14 "autoUpload": true, 15 "autoDelete": true 16 }, 17 "ignore": [ 18 "**/.git/**" 19 ] 20 }, 21 { 22 "name": "My Pi Server", 23 "context": "libpal", 24 "host": "192.168.43.88", 25 "protocol": "sftp", 26 "port": 22, 27 "username": "pi", 28 "password": "access", 29 "remotePath": "/home/pi/Bridge", 30 "uploadOnSave": false, 31 "watcher": { 32 "files": "*", 33 "autoUpload": true, 34 "autoDelete": true 35 }, 36 "ignore": [ 37 "**/.git/**" 38 ] 39 } 40]

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

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

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

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

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

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

FLV文件格式

1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  

Android So动态加载 优雅实现与原理分析

背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我