利用vscode + sftp外掛 實現遠端同步程式碼
內容概要:遠端同步程式碼,將原生代碼實時儲存到同一區域網內的另一臺電腦(linux系統)
工具:VScode,SFTP外掛
解決問題:以前的SFTP外掛同步失敗,顯示找不到檔案
一些廢話:這段時間因為專案需要且資源有限,我必須在本地完成程式碼後使用同一區域網內另一臺電腦的環境和硬體進行程式碼測試(我的電腦是win,需要在linux上跑程式碼,且我的電腦沒有顯示卡)。一開始我是寫完一個原始檔用win的cmd進行sftp連線,然後再put過去,但是程式碼越寫越多,要穿的檔案越來越多,並且有一點小改動就要重傳再測試,非常麻煩,於是就想用vscode的sftp外掛實時同步,但是發現總是報錯:找不到檔案
正文:
一、解決原來sftp外掛同步失敗的問題
vscode更新以後原來用的sftp外掛沒法用了,就是這個:
可能是vscode更新之後的bug,而且這個外掛的作者好像不再更新了,然後再github上找到了有人給這個外掛專案寫的分支,在vscode的擴充套件商店也有這個分支外掛:
只要禁用原來的外掛,下載這個作者的sftp外掛並啟用,不用重新配置,原來的配置是完全適用的,然後重啟vscode,就能夠遠端實時同步原生代碼到另一臺電腦或伺服器啦。
二、如何配置sftp外掛
可能有些人剛剛上手VScode,對vscode的外掛配置還不太熟悉,而你又著急要實時遠端同步程式碼,那你可以參照以下步驟和配置:
1.開啟vscode側邊欄的這個圖示(應用商店):,搜尋sftp,下載上文說的“Natizyskunk”作者的SFTP外掛,點選安裝。
2.按下ctr+shift+p,在頂欄彈框中找到SFTP:Config,選中並點選回車,時你的專案根目錄下就會生成一個sftp.json檔案,如下:
3.進入這個json檔案,輸入如下配置:
{ "name": "My Server", "host": "xxx.xxx.xx.xxx", #你要連線的另一臺電腦或伺服器的地址 "protocol": "sftp", #也可以用ftp方式"port": 22, #如果是sftp方式,預設埠是22;如果是ftp方式,預設埠是21 "username": "xxx", #遠端的那臺電腦(或伺服器)的名稱。比如遠端的電腦是linux系統,系統的登入名是kkk,那你這裡就應該填kkk "password": "xxx", #遠端的那臺電腦(或伺服器)的使用者登入密碼。也就是使用者kkk的密碼 "remotePath": "/home/workspace/project", #你專案想要存放的位置(是遠端的那臺電腦上的路徑),必須是絕對路徑。 "uploadOnSave": true, #程式碼儲存時是否同步更新上傳到遠端電腦 "downloadOnOpen":false, #填false就行 "watcher": { #監視 "files": "*", #監視專案根目錄下所有檔案是否更改。當然如果有需要你也可以把這裡的值改成專案中某個檔案或資料夾的相對路徑,這樣你的專案程式碼中只有你指定的檔案或資料夾會被同步到遠端 "autoUpload": true, #有更新操作時,遠端自動更新。照填就行 "autoDelete": true, #有刪除操作時遠端自動刪除。照填就行 } }
4.配置完成之後儲存,重啟vscode就可以生效了。
注意:sftp.json檔案會自動建立在專案的.vscode資料夾中,.vscode資料夾在那個專案裡面,該同步效果就對哪個專案生效,並不是全域性的
5.使用方法:
①當你對專案中某個檔案裡的程式碼進行更改後,按下ctr+s即可同步到遠端,你可以看看vscode介面的坐下角有顯示某個檔案正在上傳
②當你在本地增加某個程式碼檔案後,你可以在左側的專案目錄空白處點選右鍵,點選sync local ->remote,遠端就會多一個你剛剛新增的檔案
②當你修改你的專案結構時(比如你增加了一個資料夾),你可以在左側專案目錄的空白處點選右鍵,點選upload folder,這樣你新建的資料夾也會同步過去
補充1:你在右鍵時或許會看到如下選項,你可以按需使用:
sync both directions:將遠端和本地的程式碼同步至二者一致
sync remote ->local:將遠端程式碼同步到本地
download folder:將遠端資料夾同步到本地
****這些選項,可以讓你在比如原生代碼誤刪、遠端端添加了專案檔案等情況下,從遠端拷貝專案到本地
補充2:
當你的sftp.json檔案生效時,你會在vscode的左側看到這樣的圖示:
點進這個圖示你可以看到你在遠端同步的專案,你在本地時,對這個圖示裡的檔案有隻讀權,不能更改。
參考文獻:
https://github.com/liximomo/vscode-sftp/wiki/Common-Config#downloadonopen
https://www.z01.com/help/web/3554.shtml