目的
[1] 很多C/C++開源項目是基於Makefile + gcc/g++進行編譯的,所以我希望在ubuntu主機上保存代碼。
[2] 習慣了使用Windows系統,且Windows主機配置比較高,所以我希望在windows主機上面運行VSCode編輯ubuntu主機上的代碼文件。
解決方案(沒成功)
試過直接samba共享ubuntu主機的某些文件夾,但是被權限問題折騰了好久(windows下創建的文件,ubuntu普通用戶默認沒有訪問權限;ubuntu創建的文件,windows下默認沒有修改權限),沒有成功。
解決方案(成功)
參考[1]的解決辦法,採用pscp + VSCode + SFTP插件,完美解決問題。
pscp,是安裝putty時附帶的一個可執行文件,在power shell或者命令行窗口都可以調用。
SFTP插件,是 liximomo 開發的VSCode插件(https://github.com/liximomo/vscode-sftp),可以將遠端主機代碼同步到本地副本,也可以將本地副本的修改實時更新到遠端主機的源文件
---------------------------
下面是具體操作:
【*】請確保Windows主機已經安裝了 putty和 VSCode,Ubuntu已經安裝並開啓了SFTP服務。
【1】 在power shell下敲命令,將ubuntu主機的源文件拉取下來。
(1)通過cd命令定位到某個文件夾,比如
(2)通過pscp命令拉取文件(夾):,是遠端ubuntu主機的ip,lll是用戶名。
(3)然後你會得到遠端源文件的本地副本:
【2】進入VSCode,安裝SFTP插件。
【3】在VSCode中打開剛剛拉取的文件夾。按F1快捷鍵打開當前文件夾對應的SFTP配置sftp.json(或者在當前文件夾下的.vscode文件夾中直接打開sftp.json),修改相應的內容。
我的配置(僅供參考):
{
"name": "SFTP Server",
"host": "10.42.0.1",
"protocol": "sftp",
"port": 22,
"username": "lll",
"password": "123456789",
"remotePath": "/home/lll/codes/",
"uploadOnSave": true,
"syncMode": "update"
}
嘗試修改某個文件並保存
通過putty登錄ubuntu主機,查看文件改動,可見實時同步:
目的達成!
參考資料
[1] https://blog.csdn.net/shenquanyue/article/details/84553439
[2] https://blog.csdn.net/qq_41359051/article/details/89226060