0x00 引言

在11月4日到20日期间,牛客网发起了一次华为云的活动,针对华为云的新客户的学生云服务器套餐(年龄低于24周岁即可申请,不必学生认证)或者3个月的S6云服务器。

对于我这种穷人来说,当然要啦啊,完之后算下来只要 9 块钱就有一年 1C 1G 的云服务器,还是简直爽到飞起。有些同学感觉自己买回来会闲置积灰,其实即使是入门配置的云服务器可玩性也很高,比如可以建自己的博客,搭建内网穿透,写爬虫,测试环境,练习 Linux 系统和配置远程开发环境等。之前 VS Code 官方推出了插件 Remote Development 能够直接在本地连接至服务器开发,就像配置好了环境一样!这样我们就不用在 Windows 下折腾各种环境、虚拟机和WSL的东西了,直接在服务器上配好环境,然后在本地开发,远程编译调试,即使换电脑换环境也不用方了!

所以现在让我们开始利用的华为云搭建 Rust 的远程开发环境吧!

0x01 服务器上安装 Rust

首先我们连接到服务器,这里有一点要说明,如果忘记了服务器的密码可以在华为云的控制面板重置密码,但是重置密码后需要重启服务器才能生效

由于 Rust 官方源在国外,所以下载和安装都会很慢(而且很大几率会失败),不过中科大提供了国内的源,我们可以执行以下命令用中科大的源替换官方的源。

export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static

export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

然后就直接***方的安装脚本啦!执行这行命令

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

根据脚本的指引选择符合的选项就完成安装啦,一般情况直接选择默认的选项安装即可。

注意:安装 Rust 的脚本会在 .profile 文件增加一行,用于将 Rust 的各个工具(例如 Cargo)纳入环境变量中,但是 .profile 需要用户注销登录后才会再执行,所以执行完脚本后执行运行 cargo

会提示找不到命令,这时我们需要执行下面这条命令(请确保在用户的家目录执行)。

source .profile

现在执行 cargo -v 应该就可以看到正确的输出了。

因为 Cargo 的源也在国外,所以我们还是顺便将源改为中科大的,直接在 ~/.cargo 目录下新建 config 文件,其内容如下:

registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

然后我们通过 cargo 新建一个测试项目,方便后面演示。

cargo new mytest

0x02 VS Code 本地配置

首先打开 VS Code 并打开插件页面,搜索 Remote Development 并安装该插件。

安装 VS Code Remote Development 插件

安装完后,重新打开 VS Code,会发现侧边栏多了一个 Remote Explorer 的图标,打开它,然后就可以新建一个云服务器的 SSH 连接,如下图操作:

VS Code 连接到云服务器

选择 ssh 连接信息的保存路径,默认第一个即可。

选择 ssh 连接信息保存的文件地址

然后通过就可以用 VS Code 远程连接到服务器进行开发了,按下图打开远程连接的编辑窗口。

连接到远程服务器

点击连接后会要求你输入远程服务器的密码,如图所示:

输入远程服务器密码

输入远程服务器密码后并回车,若无误便成功连接到了远程服务器。然后我们就可以在远程服务器上打开我们之前新建的 mytest 项目进行开发了,如图所示:

打开项目目录

然后我们就可以享受远程开发的乐趣了,尝试在 VS Code 里按 Ctrl +` 打开终端就会发现默认终端也是远程服务器的终端,命令都是在服务器环境上执行的喔!

0x03 安装插件

VS Code 的远程开发可以支持在服务器上装插件,就是说在远程开发的环境下能够享受到插件给我们带来的代码提示、跳转等便利的功能!我们按照下图就可以安装 Rust 的 rls 插件:

安装 Rust rls 插件

0x04 免密码登录

每次打开项目都需要密码比较麻烦,我们可以使用密钥对来代替密码登录。首先在本机的 git bash 执行以下命令:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

ssh-copy-id 用户名@服务器IP

将上面的用户名和服务器IP改成你自己的,如果无误执行在本机执行下面命令应该可以执行连接到服务器而不用输入密码。

ssh 用户名@服务器IP

0x05 结束语

至此你就可以在本地直接开发 Rust 项目了,现在我们本机仅仅需要装一个 VS Code 而已,从此不用在Windows 系统下跑虚拟机或者用 WSL。感谢华为云和牛客网能够给我们提供如此优惠的价格,另外本篇文章的目的也为了牛客网的 华为小天鹅音箱 !!!也希望通过这篇博文能对大家有帮助,