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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM