利用VS Code進(jìn)行遠(yuǎn)程開發(fā),就問(wèn)你香不香?
關(guān)注▲?W3Cschool▲?,每天一篇文章,與你共同成長(zhǎng)

來(lái)源丨后端技術(shù)學(xué)堂
我們廠里為了最大程度提高工程師生產(chǎn)力,各種研發(fā)配套工具非常的齊全,對(duì)開發(fā)人員每人都有一臺(tái)云主機(jī),而且是個(gè)人主機(jī)哦,申請(qǐng)就有的那種。有了云開發(fā)主機(jī)在家里或者在公司都可以隨便折騰,加班也更方便了(好像哪里有點(diǎn)不對(duì))。
傳統(tǒng)的遠(yuǎn)程開發(fā)大家都知道我是從事后端開發(fā)工作的,我們的服務(wù)端程序一般都是跑在?Linux?服務(wù)器上面,傳統(tǒng)的開發(fā)流程是在 window 或 Mac 的 IDE 環(huán)境編寫代碼,然后用?ftp?或?sync?同步代碼到開發(fā)機(jī)上編譯,程序或服務(wù)最終發(fā)布到測(cè)試或生產(chǎn)環(huán)境運(yùn)行。
就我來(lái)說(shuō),以前是這么干的:在本地 Windows 和 Linux 云開發(fā)機(jī)之間開啟一個(gè)同步程序,本地編輯代碼,實(shí)時(shí)后臺(tái)同步到 Linux 云開發(fā)機(jī),然后用?xshell?登錄開發(fā)機(jī)編譯、調(diào)試,這個(gè)過(guò)程有點(diǎn)不夠優(yōu)雅,現(xiàn)在有更香的解決方案。
更香的遠(yuǎn)程開發(fā)
介紹下 VS Code
這是一款開源編輯器,然而卻不止是編輯器。
★Visual Studio Code(簡(jiǎn)稱VS Code)是一個(gè)由微軟開發(fā),同時(shí)支持Windows 、 Linux和macOS等操作系統(tǒng)且開放源代碼的代碼編輯器,它支持測(cè)試,并內(nèi)置了Git 版本控制功能,同時(shí)也具有開發(fā)環(huán)境功能,例如代碼補(bǔ)全(類似于 IntelliSense)、代碼片段和代碼重構(gòu)等。該編輯器支持用戶個(gè)性化配置,例如改變主題顏色、鍵盤快捷方式等各種屬性和參數(shù),同時(shí)還在編輯器中內(nèi)置了擴(kuò)展程序管理的功能 - 引用維基百科
”
我最喜歡的是它的插件能力,幾乎想要啥功能都能找到插件支持,應(yīng)該不用我安利你們都會(huì)喜歡的。
在 2019 年的 Stack Overflow 組織的開發(fā)者調(diào)研中,VS Code被認(rèn)為是最受開發(fā)者歡迎的開發(fā)環(huán)境,據(jù)調(diào)查87317名受訪者中有 50.7% 的受訪者聲稱正在使用VS Code。

說(shuō)了這么多,反正要表達(dá)的就是VS Code很厲害就是了。
重點(diǎn)來(lái)了,今天的主角功能是下面這個(gè)遠(yuǎn)程開發(fā)擴(kuò)展插件。
微軟在 PyCon 2019 大會(huì)上發(fā)布了VS Code Remote ,從 1.35.0 版本正式提供可以在本地編輯遠(yuǎn)程開發(fā)環(huán)境的文件的功能,所以首先確保你的VS Code版本是在這個(gè)之上的才能體驗(yàn)到。
VS Code遠(yuǎn)程開發(fā)的工作原理,大致是這樣的:

下面講講如何配置,這里以Local OS是 Win10 , ?Remote OS 是 Linux云主機(jī)為例。
遠(yuǎn)程開發(fā)配置
配置SSH環(huán)境變量
遠(yuǎn)程開發(fā)本地 VS Code 用 SSH 協(xié)議與遠(yuǎn)程服務(wù)端通信,所以要先配置SSH環(huán)境變量,由于Git自帶SSH客戶端程序

如果你還沒(méi)裝Git的話,這里要先安裝 Git,所以配置 Git 的 bin目錄到環(huán)境變量的 PATH 變量下,這樣VS Code連接的時(shí)候就能找到它了。

安裝遠(yuǎn)程開發(fā)插件
要能連上遠(yuǎn)程主機(jī),首先我們需要下載VS Code遠(yuǎn)程開發(fā)插件,VS Code其實(shí)是提供了一個(gè)遠(yuǎn)程開發(fā)插件包,包括:

Remote - SSH - 通過(guò)使用 SSH 鏈接虛擬或者實(shí)體Linux主機(jī)。 Remote - Containers – 連接 Docker 開發(fā)容器。 Remote - WSL - 連接 Windows Subsystem for Linux (Linux子系統(tǒng))。
打開軟件的擴(kuò)展界面,搜索?Remote?開頭的插件,也能看到這三個(gè)的不同遠(yuǎn)程開發(fā)插件,我們這里連接的是云主機(jī),選擇安裝 Remote - SSH 插件安裝即可。
配置遠(yuǎn)程連接
首先點(diǎn)側(cè)邊欄的「遠(yuǎn)程資源管理器」之后點(diǎn)擊「設(shè)置按鈕」,進(jìn)入遠(yuǎn)程機(jī)器配置界面。

修改 ssh 配置文件,用于登錄遠(yuǎn)程機(jī)器,各項(xiàng)含義在圖中有說(shuō)明。

點(diǎn)擊連接,登錄遠(yuǎn)程服務(wù)器,需要輸入幾次遠(yuǎn)程服務(wù)器的密碼(后面會(huì)教你怎么免密登錄),輸入確認(rèn)即可。第一次連接會(huì)做VS Code Server的初始化工作比較慢,耐心等待。

登錄成功,即可像操作本地環(huán)境一樣,在VS Code客戶端操作遠(yuǎn)程云主機(jī)上的文件。注意,下圖中的「打開文件夾」已經(jīng)是遠(yuǎn)端機(jī)器上的目錄結(jié)構(gòu)了。

給遠(yuǎn)程VS Code 安裝插件。安裝的插件是在云服務(wù)器的VS Code上,對(duì)本機(jī)的VS Code沒(méi)有影響,插件在遠(yuǎn)端提供功能,比如代碼審查、自動(dòng)補(bǔ)齊等等,而這所有的一切就像在本地操作一樣,對(duì)文件的更改也是直接操作的云主機(jī)上的文件,絲滑連接。

代碼編輯與遠(yuǎn)程終端調(diào)試。打開文件編輯的是云服務(wù)器的文件,同時(shí)可以打開云服務(wù)終端,直接在終端操作編譯或者查看云服務(wù)器信息。

配置SSH免密登錄
按照上面的配置步驟,每次連接到遠(yuǎn)程服務(wù)器,都需要輸入服務(wù)器登錄密碼很麻煩,可以配置SSH免密登錄,免去每次輸入密碼的煩惱,具體操作步驟如下:
打開win cmd終端,輸入 ssh-keygen -t rsa 生成秘鑰對(duì)
打開生成的秘鑰保存路徑,拷貝?
id_rsa.pub?內(nèi)容,添加到到云服務(wù)器的?~/.ssh/authorized_keys?文件后面。嘗試再次連接,不用輸密碼了,enjoy!
寫在最后
這套遠(yuǎn)程開發(fā)環(huán)境體驗(yàn)下來(lái)整體是比較滿意的,最大的好處是不用給電腦裝太多軟件,選擇VS Code是因?yàn)樾枰?jīng)常在C++/Python/Go三種IDE之間切換比較麻煩,現(xiàn)在即使是電腦配置低點(diǎn)都沒(méi)關(guān)系,因?yàn)樗械木庉嬈鞑寮U(kuò)展和代碼都在云端,通過(guò)?SSH?連接操作一個(gè)VS Code打遍所有。
-End-
編程獅(W3Cschool)
學(xué)編程,從W3Cschool開始
微信掃描二維碼,關(guān)注公眾號(hào)
