Update 2019-11-07
經(jīng)社團(tuán)同學(xué)提醒: remote-development 插件套裝如今已經(jīng)不再只支持 vocode insider 了, 撒花 ~~
使用指南參考 知乎專(zhuān)欄文章 : 使用vscode進(jìn)行遠(yuǎn)程煉丹
背景
最近正在做操作系統(tǒng)的實(shí)驗(yàn). 編譯linux 0.11的內(nèi)核需要linux環(huán)境.
我的主機(jī)是windows, 虛擬機(jī)是ubuntu16.04 的server版. 所以一開(kāi)始的時(shí)候我先是嘗試在共享文件夾中工作.
但是因?yàn)樗腗akefile中使用了同一個(gè)單詞但是不同大小寫(xiě)的兩個(gè)文件名來(lái)區(qū)分兩個(gè)文件(這個(gè)習(xí)慣非常不好!)而windows貌似不支持僅通過(guò)大小寫(xiě)區(qū)分文件. 于是在共享文件夾中make總是失敗. 于是不用共享文件夾.
那就有如下幾種解決方案:
- 在linux中工作
那就只能用vim了. 但是因?yàn)榻?jīng)常需要同時(shí)修改多個(gè)文件. 而這種情景下vim的體驗(yàn)實(shí)在太糟糕(也可能是因?yàn)槲姨?. - 新建一個(gè)桌面版的虛擬機(jī)
浪費(fèi)硬盤(pán)空間, 還得重新配環(huán)境. 只能作為最后的備選方案 - 使用vscode遠(yuǎn)程開(kāi)發(fā)環(huán)境
雖然遇到了挺多的坑. 但是最終還是成功了. 分享一下.
正文
環(huán)境需求
- windows端裝有open-ssh, 并添加到了PATH環(huán)境變量中
- linux端裝有ssh server
- Vscode insider. (以為這個(gè)遠(yuǎn)程開(kāi)發(fā)環(huán)境目前還在測(cè)試階段(2019-06-07). 所以如果要用的話需要安裝insider版的vscode. )
過(guò)程
配置linux端
- 流程:
- 在windows下使用如下命令生成密鑰
ssh-keygen.exe -t rsa
密碼為空即可. 然后就可以在C:\Users\用戶(hù)名\.ssh
這個(gè)文件夾中找到``id_rsa和
id_rsa.pub` 兩個(gè)文件(之后使用ssh 登錄的時(shí)候就不需要用 -i 顯示地聲明密鑰). - 將
id_rsa.pub
上傳到linux服務(wù)器中 - 如何在linux上添加公鑰可以參考 https://www.cnblogs.com/Hi-blog/p/9482418.html
- 在windows下使用如下命令生成密鑰
- 成功指標(biāo):
在windows的命令行中執(zhí)行ssh user@host
即可登錄linux服務(wù)器.
注意: 沒(méi)有用 -i 聲明密鑰! 至于為什么之后會(huì)說(shuō)
配置vscode
-
vscode 安裝拓展
-
連接linux端:
-
第一次需要新建一個(gè)配置文件
-
配置文件格式如下:
Host是主機(jī)名, 一個(gè)配置文件中可以添加多個(gè)主機(jī). 使用過(guò)Host進(jìn)行區(qū)分.
HostName是ip地址
User 是用戶(hù)名. -
一個(gè)坑
我一開(kāi)始是按照官網(wǎng) 上給了配置文件的參考格式
編寫(xiě)配置文件的. 其中IdentityFile就是私鑰的路徑. 但是一直連不上服務(wù)器. 然而我用ssh -i 使用這個(gè)私鑰是可以連到服務(wù)器上的. 也不知道是哪兒出現(xiàn)了問(wèn)題. 這也是之前成功指標(biāo)的意義. 那樣就可以省略這個(gè)參數(shù)了.
-
保存好配置文件后再次 connect host:
就可以看到之前配置的Host了
-
單擊即可.
之后就可以在windows端遠(yuǎn)程編輯linux中的文件了.
如有疏漏或者疑問(wèn). 歡迎在評(píng)論區(qū)指出交流.
參考:
https://www.youtube.com/watch?v=rh1Ag41J6IA
https://www.cnblogs.com/Hi-blog/p/9482418.html
https://code.visualstudio.com/docs/remote/ssh