使用 Visual Studio Code 进行远程开发
使用 visual studio code 进行远程开发
在完成了 at 指令入门的学习之后,接下来就要使用 at 指令进行 socket 通信了。问题在于,之前 .net 的 socket 编程只需一台电脑便可进行学习,服务器和客户端都可以在本机运行,也可以分别运行在局域网上的两台电脑之上。而 nb-iot 芯片的信号是直接发送到手机机站上的,个人电脑都是在局域网环境下运行的,没有公网 ip,手机信号发射塔不可能找到我们的个人电脑。也就是说,nb-iot 开发板无法和我们的电脑直接通信,要进行 nb-iot socket 通信,必须准备一台具有公网 ip 的服务器。我个人买了三台云服务器,有一台是作机动使用,完全没问题。到时上这门课的时候,专门在服务器上写了个程序处理学生通过 socket 发向服务器的信号应该可以解决问题。各位读者只能自己购买一台服务器学习了,现在腾讯阿里的服务器并不贵。
使用传统方式进行开发需要在个人电脑写好程序,然后发布成 dll 文件,然后拷贝到服务器上运行,这个过程还是有点麻烦的。幸运的是 visual studio code 现在可以进行远程开发了,也就是直接编辑服务器上的文件,在服务器上发布程序并运行,相当强大啊!接下来讲解如何使用 visual studio code 进行远程开发。
安装 visual studio code 及远程开发插件
第一步当然是安装 visual studio code,请参考这篇文章。
然后安装远程开发插件 remote development。
- 首先打开插件面板。
- 在插件面板的搜索框中输入
remote development
,搜索到 remote development 插件。 - 点击【install】按钮安装插件。
在服务器安装 .net core 3.0
请参考这篇文章。需要注意的是这篇文章当时安装的是 2.1 版本。现已出至 3.0,在指定版本时请改为 3.0。
使用用户名和密码的方式连接至服务器
接下来就可以连接服务器进行开发了。安装完插件后,visual studio code 窗体左下角会出现一个绿色图标,点击它,此时会在命令窗口弹出一系列选项,选择其中的【remote-ssh:conntect to host...】如下图所示:
选择【conntect to host...】后,命令行会变成下面这个样子:
选择其中的【configure ssh host...】,命令行变为:
选择其中的c:\users\cg\.ssh\config
,注意:cg 是我这台电脑的用户名,你的电脑是其它用户名。此时会在 c:\users\cg\.ssh\
目录下新建一个名为【config】的文件,并在 visual studio code 中打开,输入下图所示文字:
- host 项的名字随便起,它只是在 vs code 中显示的名称。
- hostname 中输入服务器的 ip 地址。
- user 中输入用户名,我偷懒,直接用 root 用户了,这样做并不安全,你可以自行在服务器上建一个用户来写代码。
写完后保存,并关闭【config】文件。
接下来,重复上述步骤,再次点击 visual studio code 窗体左下角图标,在命令行中选择【remote-ssh:conntect to host...】
可以看到刚才在【host】项中填写的名称已经出现,选择它。此时会弹出如下窗口让你输入密码:
输入密码,按回车,连接服务器成功后,窗体会变成如下模样:
此时,左下角绿色区域文字变为“ssh:机动服务器”,表示连接服务器成功。
接下来,单击【open folder】打开服务器上的一个文件夹进行开发,在命令行中输入【/var/www/】,如下图所示(你可以选择其它的文件夹放置项目文件):
此时还会让你输入一次密码,输入即可,打开完成后,界面变为:
可以看到,在打开的文件夹中自动建立了一系列文件,用于个人电脑和服务器间的交互。
创建第一个远程项目
准备工作是做完了,接下来,我们可以开始第一个项目了。首先在 /var/www/ 文件夹下新建一个文件夹【firstapp】。使用快捷键【ctrl + ~】打开 terminal,输入如下命令建立文件夹并进入:
mkdir firstapp cd firstapp
运行如下命令创建第一个应用程序:
dotnet new console
在 visual studio code 窗体在侧的【explorer】中打开【projram.cs】文件,已经写好了一个 hello world 代码,可以直接运行。输入如下命令:
dotnet run
运行命令后,显示 hello world!。我们的第一个远程开发程序大功告成!
使用 ssh 公钥连接服务器
每次连接至服务器都要输入密码,显然非常麻烦,我们配置一个 ssh 公钥,将来可以不输密码直接进到服务器进行开发。
生成公钥
在个人电脑 win10 操作系统的左下角【开始】按钮上点鼠标右键,在弹出菜单中选择【windows powershell】项打开 powershell,输入ssh-keygen
命令,并一路按回车,如下图所示:
打开c:\users\cg\.ssh
文件夹,可以看到生成了两个新文件:id_rsa 和 id_rsa.pub。其中 id_rsa.pub 是公钥,等下会用到。
配置服务器登录方式
使用 ssh 软件登录服务器,一般云供应商都会提供网页连接方式,我使用的腾讯云就提供了网页方式登录服务器,输入如下命令使用 vi 打开配置文件 sshd_config:
cd /etc/ssh/ vi sshd_config
找到pubkeyauthentication yes
项,如果前面有一个#
号,则去掉它(vi 使用i
键进入编辑状态)。先按 esc 键,再按:
号让 vi 进入命令状态,输入wq
保存并退出 vi。
将公钥加入服务器
在服务器端输入如下命令
cd ~/.ssh/ ls
可以看到~/.ssh/
文件夹下有一个【authorized_keys】文件,我们需要将刚才生成的公钥拷贝到这个文件中。我试过直接用记事本选中文字拷贝行不通,里面的特殊字符是无法选中的。需要先将公钥上传至服务器的引目录中,然后追加。相信买了一台服务器,上传这样的小事肯定是可以搞定的。如果实在搞不定,这里介绍一个比较方便的方法。
首先在个人电脑 win10 上打开命令提示符,进入到刚才生成公钥的c:\users\cg\.ssh
目录。
cd .ssh dir
此时应当列出了我们刚才生成的公钥。输入如下命令(注意:如果你创建了另外的用户,请将root替换掉):
scp id_rsa.pub root@<换为你服务器的ip地址>:~/.ssh/
接下来输入服务器密码,然后上传成功。整个过程如下图所示:
来到服务上的~/.ssh/
文件夹中ls
一下,id_rsa.pub 文件已经拷贝了过去。接下来输入如下命令将公钥追加至【authorized_keys】文件:
cat id_rsa.pub >> authorized_keys
好,至此已经大功告成,再次打开 visual studio code,已经不再需要输入密码,就可以登录服务器了。如果你的笔记本也需要登录服务器进行开发,将 id_rsa 和 id_rsa.pub 这两个文件拷贝至笔记本的c:\users\cg\.ssh
文件夹即可。
上一篇: 为什么说“萨尔浒之战”明军是必死之局?明军败在了什么地方?
下一篇: Java类加载机制详解
推荐阅读
-
使用vs2019进行Linux远程开发的方法步骤
-
如何在Mac系统使用Visual Studio Code运行Python
-
使用 Visual Studio Code 进行远程开发
-
使用Visual Studio 2017作为Linux C++开发工具
-
Visual Studio Code--开发大大们都在用的编辑器
-
visual studio code .net 开发
-
使用Visual Studio Code连接MySql数据库并进行查询
-
使用vs2019进行Linux远程开发
-
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
-
python从零开始基础入门——开发环境搭建:Visual Studio Code