VsCode使用SFTP插件同步多個(gè)服務(wù)器的流程
VsCode使用SFTP插件同步多個(gè)服務(wù)器
preface
我大概兩年前就開始用 VSCode 了,雖然很好用,但是后來(lái)由于它對(duì) PyTorch 的補(bǔ)全不太彳亍,以及一份代碼同步到多個(gè)遠(yuǎn)程服務(wù)器很不方便便轉(zhuǎn)向了 PyCharm,之前用 VSCode 的時(shí)候直接將代碼放在服務(wù)器上修改,但是有時(shí)候會(huì)沒(méi)有顯卡跑,而另一臺(tái)服務(wù)器顯卡有空閑,要將代碼同步就很麻煩,而用 PyCharm 的話就可以綁定多個(gè)服務(wù)器,在本地只需要維護(hù)一份代碼,哪臺(tái)服務(wù)器有空閑就上傳到哪臺(tái)服務(wù)器,這樣就很方便。前幾天因故 PyCharm 出了點(diǎn)問(wèn)題,又準(zhǔn)備開始用 VSCode,VSCode 和 PyCharm 的差別就只有同步多個(gè)服務(wù)器的功能了,之前我找過(guò),沒(méi)有合適的插件,然后在實(shí)驗(yàn)室同學(xué)的研究下發(fā)現(xiàn)了 sftp 這個(gè)插件,一番配置,好像真的可以完成這個(gè)功能。
下載插件
首先去 VSCode 插件下載處輸入 sftp ,有三個(gè),選擇第二個(gè),作者是 Natizyskunk ,原版作者的倉(cāng)庫(kù)已經(jīng)幾年沒(méi)維護(hù)了,有很多 bug,這個(gè)老外接手了這個(gè)插件并維護(hù)。
配置 config
按住 ctrl+shift+p,就會(huì)出現(xiàn)菜單欄,輸入 sftp 就會(huì)出現(xiàn)和插件相關(guān)的內(nèi)容

選擇第二個(gè) SFTP: Config 就會(huì)在項(xiàng)目的 .vscode 下面生成一個(gè) sftp.json 文件,里面就是我們要使用的連接配置,下面是我的模板,如下,我添加了兩個(gè)服務(wù)器,remotepath 是本地的文件在遠(yuǎn)程上對(duì)應(yīng)的目錄,沒(méi)有的話會(huì)自動(dòng)生成,ignore 就把不想同步的文件添加上去,類似 .gitignore
{
"name": "?",
"protocol": "sftp",
"port": 22,
"profiles": {
"159": {
"host": "",
"username": "",
"password": ".",
"remotePath": "/data1/kevin/goubatest"
},
"190": {
"host": "",
"username": "",
"password": "",
"remotePath": "/raid/kevin/mmdet180"
}
},
"uploadOnSave": true,
"downloadOnOpen":false,
"ignore": [
".vscode",
".git",
".DS_Store",
".github",
".dev_scripts",
".idea",
"show_dirs/*",
"work_dirs/*",
"checkpoints/*",
"data"
],
"watcher": {
"files": "data/*",
"autoUpload": true,
"autoDelete": false
},
"defaultProfile": "159"
}整完了之后就可以將文件上傳到服務(wù)器了,注意上面我用了 defaultProfile 這個(gè)配置來(lái)添加一個(gè)默認(rèn)的遠(yuǎn)程服務(wù)器,如果沒(méi)有的話,就需要輸入 SFTP: Set Profile 來(lái)選擇一個(gè)遠(yuǎn)程服務(wù)器,選好了之后下方就會(huì)出現(xiàn)對(duì)應(yīng)的服務(wù)器名字

然后在左邊的文件欄里可以將所有文件同步上去,也可以只同步一部分文件,也可以將遠(yuǎn)程的東西同步到本地,很方便

上傳之后可以在左邊的 sftp 工具欄中看到對(duì)應(yīng)的遠(yuǎn)程目錄下的文件,而且打開后是只讀的,在文件的前面會(huì)有一個(gè) ~ 波浪線,這點(diǎn)挺好的,防止誤編輯。我覺得這個(gè)插件比 PyCharm 的功能要好,他會(huì)對(duì)比本地和遠(yuǎn)程的不同,用 Sync Local/Remote/Both 的話,他只會(huì)上傳兩邊不同的文件,相同的文件不會(huì)上傳,PyCharm 的話是直接給傳上去了,要是我本地有個(gè)巨大的文件,每次上傳都得花很久時(shí)間。
要是想再將代碼傳到另一個(gè)服務(wù)器上的話,只需要 SFTP: Set Profile 選擇另一個(gè)服務(wù)器再上傳一遍就行了。
曲線救國(guó)
同步代碼的問(wèn)題解決了,本以為能夠拋棄 PyCharm 了,但是還有一個(gè)問(wèn)題,那就是自動(dòng)補(bǔ)全,如果這份代碼需要的庫(kù)在遠(yuǎn)程服務(wù)器上安裝了,但是在本地沒(méi)有安裝的話,是無(wú)法進(jìn)行自動(dòng)補(bǔ)全的,只能在本地也裝一份,常規(guī)的庫(kù)也就算了,有些庫(kù)不支持 windows,就裝都裝不了,這是個(gè)很頭疼的事,我和 jlchen 討論了一下有沒(méi)有可能曲線救國(guó),最終還真有,那就是,拋棄本地環(huán)境,直接返璞歸真,在一臺(tái)遠(yuǎn)程服務(wù)器上直接操作代碼,完了再同步到其他服務(wù)器,也就是相當(dāng)于將一臺(tái)裝有環(huán)境的服務(wù)器當(dāng)成客戶端,利用 SFTP 插件將代碼傳到另外的服務(wù)器,這樣子的話呢,就能夠解決自動(dòng)補(bǔ)全的問(wèn)題了!
可能的 Bugs
每次 SFTP: Set Profile 都顯示沒(méi)有合適的 profile,只要將 sftp.json 重新替換一下(不使用它自動(dòng)生成的)就行了,我盲猜是因?yàn)槲募幋a的問(wèn)題(fileencoding=unix/dos),還沒(méi)空去驗(yàn)證是不是這個(gè)問(wèn)題
reference
補(bǔ)充介紹:VSCode 使用 SFTP 插件實(shí)現(xiàn)多服務(wù)器同步
VSCode 使用 SFTP 插件實(shí)現(xiàn)多服務(wù)器同步
作為一名開發(fā)者,代碼編輯器的選擇對(duì)工作效率有著重要影響。我曾經(jīng)因?yàn)?VSCode 在某些功能上的不足,比如對(duì) PyTorch 的補(bǔ)全不夠理想以及代碼同步到多個(gè)遠(yuǎn)程服務(wù)器的不便,而轉(zhuǎn)向了 PyCharm。在 PyCharm 中,可以方便地綁定多個(gè)服務(wù)器,在本地維護(hù)一份代碼,然后根據(jù)服務(wù)器的資源情況靈活地上傳到不同的服務(wù)器,這確實(shí)很方便。然而,最近由于 PyCharm 出了一些問(wèn)題,我決定重新嘗試使用 VSCode,而 VSCode 和 PyCharm 在功能上的主要差距就在于同步多個(gè)服務(wù)器這一點(diǎn)。不過(guò),經(jīng)過(guò)一番探索,我發(fā)現(xiàn)了一個(gè)名為 sftp 的插件,經(jīng)過(guò)配置后,它似乎能夠很好地解決這個(gè)問(wèn)題。
下載插件
在 VSCode 的插件市場(chǎng)中搜索 sftp,會(huì)找到多個(gè)相關(guān)插件。我們需要選擇作者是 Natizyskunk 的那個(gè)版本。因?yàn)樵孀髡叩膫}(cāng)庫(kù)已經(jīng)多年沒(méi)有維護(hù)了,存在很多問(wèn)題,而這個(gè)版本是由一位開發(fā)者接手并持續(xù)維護(hù)的,相對(duì)來(lái)說(shuō)更加穩(wěn)定可靠。

配置sftp.json
按下 Ctrl+Shift+P 組合鍵,調(diào)出 VSCode 的命令面板,在其中輸入 sftp,然后選擇 SFTP: Config 命令。這樣,VSCode 會(huì)在項(xiàng)目的 .vscode 文件夾下生成一個(gè) sftp.json 配置文件,我們可以在其中設(shè)置連接的相關(guān)參數(shù)。
以下是一個(gè)配置示例,其中添加了兩個(gè)服務(wù)器的連接信息。remotePath 是本地文件在遠(yuǎn)程服務(wù)器上對(duì)應(yīng)的目錄路徑,如果該路徑不存在,插件會(huì)自動(dòng)創(chuàng)建。ignore 部分則可以列出一些不需要同步的文件或文件夾,類似于 .gitignore 文件的作用。
{
"name": "?",
"protocol": "sftp",
"port": 22,
"profiles": {
"159": {
"host": "服務(wù)器1的IP地址",
"username": "服務(wù)器1的用戶名",
"password": "服務(wù)器1的密碼",
"remotePath": "/data1/kevin/goubatest"
},
"190": {
"host": "服務(wù)器2的IP地址",
"username": "服務(wù)器2的用戶名",
"password": "服務(wù)器2的密碼",
"remotePath": "/raid/kevin/mmdet180"
}
},
"uploadOnSave": true,
"downloadOnOpen": false,
"ignore": [
".vscode",
".git",
".DS_Store",
".github",
".dev_scripts",
".idea",
"show_dirs/*",
"work_dirs/*",
"checkpoints/*",
"data"
],
"watcher": {
"files": "data/*",
"autoUpload": true,
"autoDelete": false
},
"defaultProfile": "159"
}在配置完成后,就可以開始將文件上傳到服務(wù)器了。如果設(shè)置了 defaultProfile,那么在啟動(dòng)插件時(shí)會(huì)自動(dòng)連接到指定的默認(rèn)服務(wù)器。
在 VSCode 的左側(cè)文件欄中,可以方便地將所有文件同步上傳到服務(wù)器,也可以選擇只同步部分文件,或者將遠(yuǎn)程服務(wù)器上的文件同步到本地,操作非常靈活。
上傳文件后,在左側(cè)的 SFTP 工具欄中可以看到遠(yuǎn)程目錄下的文件列表。這些文件默認(rèn)是只讀的,文件名前會(huì)有一個(gè) ~ 波浪線作為標(biāo)識(shí),這樣可以有效防止誤編輯。我認(rèn)為這個(gè)插件在這方面比 PyCharm 做得更好。它會(huì)自動(dòng)對(duì)比本地和遠(yuǎn)程文件的差異,當(dāng)使用 Sync Local/Remote/Both 功能時(shí),只會(huì)上傳那些存在差異的文件,而不會(huì)對(duì)相同的文件進(jìn)行重復(fù)上傳。相比之下,PyCharm 會(huì)直接上傳所有文件,如果本地存在一些體積較大的文件,每次上傳都會(huì)耗費(fèi)很多時(shí)間。
如果需要將代碼同步到另一臺(tái)服務(wù)器,只需要通過(guò) SFTP: Set Profile 命令切換到目標(biāo)服務(wù)器,然后再進(jìn)行上傳操作即可。
總之,通過(guò)使用 SFTP 插件,VSCode 在多服務(wù)器代碼同步方面的功能得到了很好的補(bǔ)充,讓我重新看到了使用 VSCode 的可能性。希望這篇文章能對(duì)其他有類似需求的開發(fā)者有所幫助。
到此這篇關(guān)于VsCode使用SFTP插件同步多個(gè)服務(wù)器的文章就介紹到這了,更多相關(guān)vscode同步多個(gè)服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu 用vsftpd 配置FTP服務(wù)器教程詳解
本文給大家介紹Ubuntu 用vsftpd 配置FTP服務(wù)器的教程,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-10-10
設(shè)置Serv-U FTP 支持被動(dòng)模式連接 ,530錯(cuò)誤等解決辦法集錦
腳本之家技術(shù)團(tuán)隊(duì)為了服務(wù)器設(shè)置的更安全,都開啟了防火墻所以就需要serv_u被動(dòng)模式加載。下面是從網(wǎng)站找到的一些資料。大家可以參考下。2011-03-03
Windows?sever?2019中IIS搭建FTP服務(wù)器的圖文教程
本文主要介紹了Win2019使用IIS搭建FTP服務(wù)器的詳細(xì)步驟,包括安裝IIS、配置FTP站點(diǎn)和設(shè)置用戶權(quán)限等,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
教你如何架設(shè)辦公室FTP服務(wù)器以Serv-U為例
Scrv-U是Windows平臺(tái)上最流行的FTP服務(wù)器軟件,下面就以現(xiàn)在局域網(wǎng)中最流行的FTP服務(wù)器軟件Serv-U為例,向您講解一下如何架設(shè)FTP服務(wù)器2013-12-12
Red Hat6.4環(huán)境下搭建FTP服務(wù)器的詳細(xì)步驟
FTP服務(wù)器(File Transfer Protocol Server)是一種用于文件傳輸?shù)姆?wù)器軟件或硬件設(shè)備,它通過(guò)FTP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器之間的文件上傳、下載和管理,本文給大家介紹了Red Hat6.4環(huán)境下搭建FTP服務(wù)器的詳細(xì)步驟,需要的朋友可以參考下2026-03-03
windows系統(tǒng)搭建FTP服務(wù)器圖文教程
這篇文章主要為大家詳細(xì)介紹了windows系統(tǒng)搭建FTP服務(wù)器圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
windows Server 2008R2 FTP服務(wù)器搭建圖文教程
這篇文章主要為大家詳細(xì)介紹了windows Server 2008R2 FTP服務(wù)器搭建圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12

