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