使用 VSCode 的 SFTP 擴充,所使用的是 Natizyskunk 的版本。
.vscode/sftp.json 設定檔的建立與設定
第一次沒用過的專案,可以透過快速鍵 Ctrl + Shift + P 呼叫輸入框,輸入 SFTP: config 來建立基本的設定檔樣版,專案資料夾下會產生 .vscode/sftp.json 設定檔
設定檔 (sftp.json) 注意的部份:
- 不能寫註。
- 使用 "" 雙引號。
- 多筆屬性的最後一筆結尾處不能有 ,。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | { "name": "本地資料夾名稱(可自訂)", "host": "ip 或域名", "protocol": "協議 [sftp/ftp] 預設 ftp", "port": 22, "username": "username", "password": "password", "remotePath": "遠端資料夾地址,預設 /", "context": "本地資料夾地址,預設為 vscode 工作區根目錄", "uploadOnSave": true, "downloadOnOpen": false, "ignore": [ "**/.vscode/**", "**/.git/**", "**/.DS_Store" ], "watcher": { "files": "*", "autoUpload": false, "autoDelete": false } } |
說明屬性如下:
- "name":連結遠端主機的名稱,會在 VSCode 的面版上呈現
- "host":以遠端舉例來說 "192.168.1.235",本地電腦則填 local
- "protocol": "sftp" 或是 "ftp"。
- port:以 sftp 連結預設連接埠是 22,而 ftp 是 21。
- "username":遠端主機的使用帳號名稱。
- "remotePath":遠端主機上的路徑,以 / 後接必須是絕對路徑。
- "downloadOnOpen": false, 從遠端伺服器下載打開的檔案。
- "uploadOnSave":本地更新檔案保存會自動同步到遠端檔案(不會同步重新命名檔案和刪除檔案)
注意:不能與 watcher 同時使用。
- "ignore":忽略的檔案(匹配的檔案不會同步)
- "watcher":監聽器(可以重新命名檔案和刪除檔案)
注意: "uploadOnSave": ture, 時 watcher 失效。
- autoUpload:檔案變更會自動同步(修改和重新命名)
- autoDelete:檔案刪除會自動同步
透過設定 ignore 排除檔案,指定不需要同步的檔案與資料夾
排除路徑下全部指定檔名、特定檔名或資料夾
sftp 與 ftp 通常來說,對於放置靜態網頁來說,只會用來傳送存放處理過的素材檔,又或是協作時會放置團隊所要處理的工作檔,以不需要 node_modules 資料夾,又或是 .vscode 的個人設定檔,就可以排除檔案與路徑在 .vscode/sftp.json 的設定檔中。
1 2 3 4 5 6 7 8 9 10 11 | { // ... 略 "ignore": [ ".vscode", ".git", "node_modules/**", "/node_modules", "/leaf.png", ".DS_Store" ] } |
以上面的設定排除較需注意的說明如下:
- ".DS_Store":指定同步的資料夾中,只要是所有路徑下有 ".DS_Store" 的檔案,都不會進行同步。
- "/leaf.png":特定路徑路徑,這裡開頭 / 指的是指向路徑的根部,會是根部的 /leaf.png 檔不會進行同步,但如果 /test/leaf.png 的檔案會是同步的,而先前沒有 / 的路徑符設定不同。
- "node_modules/**" 與 "/node_modules":針對 node_modules 資料夾不進行同步。
整個同步專案資料夾先排除設定,透過 ! 反義指定只同步的檔案或是資料夾
有時在站台中不會需要將同步路徑下所有的資料,都整個專案資料夾進行同步,此時可以透過 "**/*" 整個設定專案資料夾所有路徑先設定排除同步。
接著透過 ! (反義) 的方式,例如 !/xxx/** (反義排除資料夾) !/xxx.xxx (反義排除檔案) 的方式來指定限制專案資料夾下只同步的檔案或是資料夾。
1 2 3 4 5 6 7 | { // ... 略 "ignore": [ "**/*", "!/sync.txt" ] } |
參考資料
– vscode+stfp外掛,實現遠端自動同步檔案&程式碼
– VS Code遠端連接伺服器+伺服器pytorch環境組態全流程