使用 VSCode 的 SFTP 擴充,所使用的是 Natizyskunk 的版本。


.vscode/sftp.json 設定檔的建立與設定

第一次沒用過的專案,可以透過快速鍵 Ctrl + Shift + P 呼叫輸入框,輸入 SFTP: config 來建立基本的設定檔樣版,專案資料夾下會產生 .vscode/sftp.json 設定檔

設定檔 (sftp.json) 注意的部份:

  • 不能寫註。
  • 使用 "" 雙引號。
  • 多筆屬性的最後一筆結尾處不能有 ,

說明屬性如下:

  • "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 的設定檔中。

以上面的設定排除較需注意的說明如下:

  • ".DS_Store":指定同步的資料夾中,只要是所有路徑下有 ".DS_Store" 的檔案,都不會進行同步。
  • "/leaf.png":特定路徑路徑,這裡開頭 / 指的是指向路徑的根部,會是根部的 /leaf.png 檔不會進行同步,但如果 /test/leaf.png 的檔案會是同步的,而先前沒有 / 的路徑符設定不同。
  • "node_modules/**""/node_modules":針對 node_modules 資料夾不進行同步。

整個同步專案資料夾先排除設定,透過 ! 反義指定只同步的檔案或是資料夾

有時在站台中不會需要將同步路徑下所有的資料,都整個專案資料夾進行同步,此時可以透過 "**/*" 整個設定專案資料夾所有路徑先設定排除同步。

接著透過 ! (反義) 的方式,例如 !/xxx/** (反義排除資料夾) !/xxx.xxx (反義排除檔案) 的方式來指定限制專案資料夾下只同步的檔案或是資料夾。


參考資料

vscode+stfp外掛,實現遠端自動同步檔案&程式碼
VS Code遠端連接伺服器+伺服器pytorch環境組態全流程