Visual Studio Code 1.35更新:遠程開發終於來啦

前段時間大家可能看過一個新聞:微軟爲VSC開發一款名爲Remote Development的擴展程序,可以讓我們使用本地VSC開發和調試遠程機器上的代碼。這個功能對於我這個不會使用vim等linux工具的人來說,簡直是一個重大消息。可惜的是,當時遠程開發插件還處於測試當中,只能在VSC Insider也就是測試版中使用。如今VSC更新到了1.35,增加了許多功能,遠程開發就是其中之一。

安裝遠程開發插件

安裝遠程開發插件很簡單,擴展搜索框裏面直接搜索remote即可看到。遠程開發插件包括三個插件,SSH用於連接遠程linux主機,Containers用於連接docker環境,WSL用於連接linux子系統。直接安裝遠程開發插件,就可以同時安裝這三個插件。

安裝遠程開發插件

配置SSH遠程連接

開啓Pubkey登錄方式

如果想要用遠程開發插件連接到遠程主機,首先要做的事情就是設置SSH遠程登錄功能。遠程開發插件允許我們使用Pubkey和密碼方式登錄,不過如果使用密碼方式,每次都需要手動輸入密碼,實在是不方便。所以這裏來介紹使用Pubkey方式登錄。我們首先要做的事情自然是配置SSH Pubkey方式登錄。

首先打開要遠程連接的主機,然後打開/etc/ssh/sshd_config配置文件,進行一些必要的修改。

sudo nano /etc/ssh/sshd_config

然後找到PubkeyAuthentication並改爲yes,如果這一行是註釋狀態,首先刪除行首的#,然後進行修改。修改完畢之後保存文件。

PubkeyAuthentication yes

開啓公鑰登錄方式

添加公鑰

下一步就是將我們開發機器上的公鑰添加到遠程機器上。做法很簡單,首先需要生成一對密鑰對,如果之前使用Git等程序的話應該已經生成過了,可以直接使用。如果不會的可以參考碼雲的幫助文章來生成SSH密鑰對。

然後我們找到用戶目錄下的.ssh文件夾,用記事本打開其中的id-rsa.pub文件,然後複製其內容,內容大概應該是這個樣子的。

公鑰

然後打開遠程機器,在~/.ssh/authorized_keys文件中將公鑰粘貼進去。如果沒有這個文件就新建。保存之後,重啓SSH服務即可。

sudo systemctl restart ssh

這時候我們使用一個SSH工具嘗試登錄遠程主機,看看在不輸入密碼的情況能否成功登錄。如果登錄成功,那麼SSH配置工作就成功完成了。

SSH Pubkey登錄

遠程開發

配置SSH遠程開發

首先點擊VS Code左下角的綠色代碼按鈕。
遠程開發按鈕

這會打開命令面板,然後在其中選擇SSH:打開配置文件。
編輯配置文件

然後選擇一個配置文件並進行編輯。
配置文件路徑

這會打開配置文件,然後我們在其中填入遠程主機的信息。Host是遠程主機的名稱,Hostname是遠程主機的主機名或者ip地址,User則是我們要進行遠程登錄的用戶名。由於前面設置了SSH登錄方式,所以不需要輸入密碼即可登錄,非常方便。

Host ubuntu
    Hostname 192.168.70.128
    User yitian

編輯完成之後,保存文件。然後再次打開命令面板,這次選擇SSH:連接主機。然後會列出剛剛設置好的主機名,點擊即可。

連接主機

這樣一來,VS Code會彈出一個新窗口。這個窗口中的內容都是遠程主機上的,打開的終端也是遠程主機的終端。這樣一來,我們就可以盡情的開發,而不用顧忌遠程機器上是否安裝了vim等編輯器,是不是很容易呢?
遠程開發窗口

遠程安裝插件

如果你照着上面的步驟做下來,會發現一個問題,那就是遠程編寫代碼的時候, 沒辦法使用很多功能,這是因爲一些Code插件沒有在遠程主機上運行,爲了獲得最好的開發體驗,我們需要在遠程主機上安裝插件。

辦法也很簡單,打開擴展窗口,會發現這時候擴展窗格分爲了兩個部分,一個是本地擴展,一個是遠程擴展。而安裝擴展的時候也多了一個遠程安裝按鈕,點擊它即可將擴展安裝到遠程機器上。

遠程主機安裝擴展

安裝成功之後,再次編輯代碼,這次可以看到IntelliSense和格式化代碼功能都成功的執行了。這樣一來,我們就可以隨心所欲的進行遠程開發了!

編輯器功能

自動遠程安裝插件

如果你有很多個遠程主機,而且有一些插件希望在SSH連接的時候自動安裝到遠程主機上,可以使用自動安裝功能讓所有遠程主機都安裝所指定的遠程插件。

這個設置起來稍微有些麻煩,首先按F1打開命令面板,然後輸入“settings json”,打開JSON格式的原始用戶首選項。
打開用戶首選項

然後在JSON文件裏粘貼下面一段代碼,指定要默認在所有SSH主機中安裝的遠程擴展。數組裏需要指定的是擴展的ID,可以在擴展頁面中找到。這個ID需要一個擴展一個擴展的複製,因此設置起來比較麻煩。感覺這個部分可以直接複製粘貼別人已經配置好的文件。

    "remote.SSH.defaultExtensions": [
        "eamodio.gitlens",
        "mutantdino.resourcemonitor",
        "ms-vscode.cpptools",
        "austin.code-gnu-global",
    ]

默認遠程插件

這樣,遠程開發所需的所有設置都配置完畢了。大家可以盡情痛快的用VS Code編寫代碼了,再也不需要花費大力氣學習vim啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章