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

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

YES:json

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

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

3. 远端修改了文件,能够sync到本地工具

NO:spa

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

(若是谁能请告诉我咋弄,感激涕零)code

 

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

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

严重影响体验和工做效率,所以这才转向于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,这样一来才能够保证同步。

相关文章
相关标签/搜索