使用 Visual Studio Code 进行远程开发
在完成了 AT 指令入門的學(xué)習(xí)之后,接下來(lái)就要使用 AT 指令進(jìn)行 Socket 通信了。問(wèn)題在于,之前 .NET 的 Socket 編程只需一臺(tái)電腦便可進(jìn)行學(xué)習(xí),服務(wù)器和客戶端都可以在本機(jī)運(yùn)行,也可以分別運(yùn)行在局域網(wǎng)上的兩臺(tái)電腦之上。而 NB-IOT 芯片的信號(hào)是直接發(fā)送到手機(jī)機(jī)站上的,個(gè)人電腦都是在局域網(wǎng)環(huán)境下運(yùn)行的,沒(méi)有公網(wǎng) IP,手機(jī)信號(hào)發(fā)射塔不可能找到我們的個(gè)人電腦。也就是說(shuō),NB-IOT 開(kāi)發(fā)板無(wú)法和我們的電腦直接通信,要進(jìn)行 NB-IOT Socket 通信,必須準(zhǔn)備一臺(tái)具有公網(wǎng) IP 的服務(wù)器。我個(gè)人買了三臺(tái)云服務(wù)器,有一臺(tái)是作機(jī)動(dòng)使用,完全沒(méi)問(wèn)題。到時(shí)上這門課的時(shí)候,專門在服務(wù)器上寫了個(gè)程序處理學(xué)生通過(guò) Socket 發(fā)向服務(wù)器的信號(hào)應(yīng)該可以解決問(wèn)題。各位讀者只能自己購(gòu)買一臺(tái)服務(wù)器學(xué)習(xí)了,現(xiàn)在騰訊阿里的服務(wù)器并不貴。
使用傳統(tǒng)方式進(jìn)行開(kāi)發(fā)需要在個(gè)人電腦寫好程序,然后發(fā)布成 DLL 文件,然后拷貝到服務(wù)器上運(yùn)行,這個(gè)過(guò)程還是有點(diǎn)麻煩的。幸運(yùn)的是 Visual Studio Code 現(xiàn)在可以進(jìn)行遠(yuǎn)程開(kāi)發(fā)了,也就是直接編輯服務(wù)器上的文件,在服務(wù)器上發(fā)布程序并運(yùn)行,相當(dāng)強(qiáng)大啊!接下來(lái)講解如何使用 Visual Studio Code 進(jìn)行遠(yuǎn)程開(kāi)發(fā)。
安裝 Visual Studio Code 及遠(yuǎn)程開(kāi)發(fā)插件
第一步當(dāng)然是安裝 Visual Studio Code,請(qǐng)參考這篇文章。
然后安裝遠(yuǎn)程開(kāi)發(fā)插件 Remote Development。
首先打開(kāi)插件面板。
在插件面板的搜索框中輸入remote development,搜索到 Remote Development 插件。
點(diǎn)擊【Install】按鈕安裝插件。
在服務(wù)器安裝 .NET Core 3.0
請(qǐng)參考這篇文章。需要注意的是這篇文章當(dāng)時(shí)安裝的是 2.1 版本。現(xiàn)已出至 3.0,在指定版本時(shí)請(qǐng)改為 3.0。
使用用戶名和密碼的方式連接至服務(wù)器
接下來(lái)就可以連接服務(wù)器進(jìn)行開(kāi)發(fā)了。安裝完插件后,Visual Studio Code 窗體左下角會(huì)出現(xiàn)一個(gè)綠色圖標(biāo),點(diǎn)擊它,此時(shí)會(huì)在命令窗口彈出一系列選項(xiàng),選擇其中的【Remote-SSH:Conntect to Host...】如下圖所示:
選擇【Conntect to Host...】后,命令行會(huì)變成下面這個(gè)樣子:
選擇其中的【Configure SSH Host...】,命令行變?yōu)?#xff1a;
選擇其中的C:\Users\cg\.ssh\config,注意:cg 是我這臺(tái)電腦的用戶名,你的電腦是其它用戶名。此時(shí)會(huì)在?C:\Users\cg\.ssh\?目錄下新建一個(gè)名為【config】的文件,并在 Visual Studio Code 中打開(kāi),輸入下圖所示文字:
Host 項(xiàng)的名字隨便起,它只是在 vs code 中顯示的名稱。
HostName 中輸入服務(wù)器的 IP 地址。
User 中輸入用戶名,我偷懶,直接用 root 用戶了,這樣做并不安全,你可以自行在服務(wù)器上建一個(gè)用戶來(lái)寫代碼。
寫完后保存,并關(guān)閉【config】文件。
接下來(lái),重復(fù)上述步驟,再次點(diǎn)擊 Visual Studio Code 窗體左下角圖標(biāo),在命令行中選擇【Remote-SSH:Conntect to Host...】
可以看到剛才在【Host】項(xiàng)中填寫的名稱已經(jīng)出現(xiàn),選擇它。此時(shí)會(huì)彈出如下窗口讓你輸入密碼:
輸入密碼,按回車,連接服務(wù)器成功后,窗體會(huì)變成如下模樣:
此時(shí),左下角綠色區(qū)域文字變?yōu)椤癝SH:機(jī)動(dòng)服務(wù)器”,表示連接服務(wù)器成功。
接下來(lái),單擊【Open folder】打開(kāi)服務(wù)器上的一個(gè)文件夾進(jìn)行開(kāi)發(fā),在命令行中輸入【/var/www/】,如下圖所示(你可以選擇其它的文件夾放置項(xiàng)目文件):
此時(shí)還會(huì)讓你輸入一次密碼,輸入即可,打開(kāi)完成后,界面變?yōu)?#xff1a;
可以看到,在打開(kāi)的文件夾中自動(dòng)建立了一系列文件,用于個(gè)人電腦和服務(wù)器間的交互。
創(chuàng)建第一個(gè)遠(yuǎn)程項(xiàng)目
準(zhǔn)備工作是做完了,接下來(lái),我們可以開(kāi)始第一個(gè)項(xiàng)目了。首先在 /var/www/ 文件夾下新建一個(gè)文件夾【FirstApp】。使用快捷鍵【Ctrl + ~】打開(kāi) TERMINAL,輸入如下命令建立文件夾并進(jìn)入:
mkdir FirstApp cd FirstApp運(yùn)行如下命令創(chuàng)建第一個(gè)應(yīng)用程序:
dotnet new console在 Visual Studio Code 窗體在側(cè)的【Explorer】中打開(kāi)【Projram.cs】文件,已經(jīng)寫好了一個(gè) Hello World 代碼,可以直接運(yùn)行。輸入如下命令:
dotnet run運(yùn)行命令后,顯示 Hello World!。我們的第一個(gè)遠(yuǎn)程開(kāi)發(fā)程序大功告成!
使用 SSH 公鑰連接服務(wù)器
每次連接至服務(wù)器都要輸入密碼,顯然非常麻煩,我們配置一個(gè) SSH 公鑰,將來(lái)可以不輸密碼直接進(jìn)到服務(wù)器進(jìn)行開(kāi)發(fā)。
生成公鑰
在個(gè)人電腦 Win10 操作系統(tǒng)的左下角【開(kāi)始】按鈕上點(diǎn)鼠標(biāo)右鍵,在彈出菜單中選擇【W(wǎng)indows PowerShell】項(xiàng)打開(kāi) PowerShell,輸入ssh-keygen命令,并一路按回車,如下圖所示:
打開(kāi)C:\Users\cg\.ssh文件夾,可以看到生成了兩個(gè)新文件:id_rsa 和 id_rsa.pub。其中 id_rsa.pub 是公鑰,等下會(huì)用到。
配置服務(wù)器登錄方式
使用 SSH 軟件登錄服務(wù)器,一般云供應(yīng)商都會(huì)提供網(wǎng)頁(yè)連接方式,我使用的騰訊云就提供了網(wǎng)頁(yè)方式登錄服務(wù)器,輸入如下命令使用 vi 打開(kāi)配置文件 sshd_config:
cd /etc/ssh/ vi sshd_config找到PubkeyAuthentication yes項(xiàng),如果前面有一個(gè)#號(hào),則去掉它(vi 使用i鍵進(jìn)入編輯狀態(tài))。先按 Esc 鍵,再按:號(hào)讓 vi 進(jìn)入命令狀態(tài),輸入wq保存并退出 vi。
將公鑰加入服務(wù)器
在服務(wù)器端輸入如下命令
cd ~/.ssh/ ls可以看到~/.ssh/文件夾下有一個(gè)【authorized_keys】文件,我們需要將剛才生成的公鑰拷貝到這個(gè)文件中。我試過(guò)直接用記事本選中文字拷貝行不通,里面的特殊字符是無(wú)法選中的。需要先將公鑰上傳至服務(wù)器的引目錄中,然后追加。相信買了一臺(tái)服務(wù)器,上傳這樣的小事肯定是可以搞定的。如果實(shí)在搞不定,這里介紹一個(gè)比較方便的方法。
首先在個(gè)人電腦 Win10 上打開(kāi)命令提示符,進(jìn)入到剛才生成公鑰的C:\Users\cg\.ssh目錄。
cd .ssh dir此時(shí)應(yīng)當(dāng)列出了我們剛才生成的公鑰。輸入如下命令(注意:如果你創(chuàng)建了另外的用戶,請(qǐng)將root替換掉):
scp id_rsa.pub root@<換為你服務(wù)器的IP地址>:~/.ssh/接下來(lái)輸入服務(wù)器密碼,然后上傳成功。整個(gè)過(guò)程如下圖所示:
來(lái)到服務(wù)上的~/.ssh/文件夾中l(wèi)s一下,id_rsa.pub 文件已經(jīng)拷貝了過(guò)去。接下來(lái)輸入如下命令將公鑰追加至【authorized_keys】文件:
cat id_rsa.pub >> authorized_keys好,至此已經(jīng)大功告成,再次打開(kāi) Visual Studio Code,已經(jīng)不再需要輸入密碼,就可以登錄服務(wù)器了。如果你的筆記本也需要登錄服務(wù)器進(jìn)行開(kāi)發(fā),將 id_rsa 和 id_rsa.pub 這兩個(gè)文件拷貝至筆記本的C:\Users\cg\.ssh文件夾即可。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的使用 Visual Studio Code 进行远程开发的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ASP.NET Core跨平台技术内幕
- 下一篇: 轻量级开源小程序SDK发车啦