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,這樣一來才能夠保證同步。

相關文章
相關標籤/搜索