Rust+VS Code 安装/配置/调试指南

前言

初学 Rust,在第一步配置环境上就踩了好多坑 😂 故分享出来……(方便大家第一时间赶到现场嘲笑)

安装

配置环境

基于 Win10,主要开发环境有两种选择:

  • Windows + Rust
  • WSL2 + Rust

至于为什么不是 WSL1,因为截至目前,WS1 配置 Rust 环境时会出现一些 bug

配置 Rust

Win10 安装 Rust

这里还是有多种选择:

  • 基于 MSVC 安装
  • 基于 GNU 安装

MSVC 是官方推荐的安装方式,但是需要安装 Visual C++ Build Tools,一通操作就是好几个 GB,所以目前选择了较为轻便的 GNU 工具链作为后端。

对于 GNU 工具链,我选择的是 mingw-w64,关于配置这个的更多信息请参考这篇文章

配置好 mingw-w64 之后,就可以正式安装了,首先去官网下载安装包,然后进入 Power shell:

# 临时镜像加速,下载慢的话可能需要设置这个
$env:RUSTUP_DIST_SERVER='https://mirrors.ustc.edu.cn/rust-static'
$env:RUSTUP_UPDATE_ROOT='https://mirrors.ustc.edu.cn/rust-static/rustup'

# 运行刚刚下载的安装工具
path_to_your\rustup-init.exe

如果没有安装 MSVC 工具链,打开之后可能会出现如下提示,键入 y 继续:

继续安装

继续之后,键入 2 自定义安装方式,输入 x86_64-pc-windows-gnu 以使用 GNU 工具链安装,其余项目可以直接跳过:

配置安装选项

最后键入 1 等待完成安装。

WSL 安装 Rust

关于如何配置 WSL,不在赘述,可以参考官方文档

具体安装步骤基本和 Win10 一致:

# 设置临时镜像加速
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

# 如果在 WSL1 环境下,可能需要设置这个
export RUSTUP_IO_THREADS=1

# 官网提供的安装命令
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

下载好安装包之后,直接键入 1 等待完成安装:

等待安装

最后配置 $PATH

# 添加到path
source $HOME/.cargo/env

# 我使用的是 fish 需要特别设置
set -U fish_user_paths ~/.cargo/bin $fish_user_paths

更改镜像源

~/.cargo/config 添加如下内容:

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"

# 替换成任一镜像源
replace-with = 'ustc'
# replace-with = 'tuna'
# replace-with = 'sjtu'
# replace-with = 'rustcc'

# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"

需要注意的是,尽量不要直接修改 ~/.cargo/config 文件,可能会因为换行符导致 cargo 无法读取……可以使用如下命令导入:

  • 使用 Power Shell(Win10、Ubuntu……):
@"
# 这里粘贴你的配置文件
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
"@ | Out-File ~/.cargo/config
  • 使用 bash 或 fish:
cat >> ~/.cargo/config
# 这里粘贴你的配置文件
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 键入 Ctrl+D 结束

配置 VS Code

首先要安装 Rust 扩展,调试的话有多种选择:

  • 使用 GDB 进行调试:Native DebugC/C++ 扩展等
  • 使用 LLDB 进行调试:Native DebugCodeLLDB 扩展等

建议使用 CodeLLDB 进行调试,因为截至目前为止,只有 CodeLLDB 对 Rust 做了特别的适配,可以根据 Cargo.toml 自动生成相关的调试配置。

测试

新建个项目看下效果:

注意:第一次打开 .rs 文件时,VS Code 右下角可能会提示安装工具链,确认安装就行了,这一步最好已配置好国内源,不然会慢死……

新建项目

然后 运行打开配置 CodeLLDB 会检测到 Cargo.toml 文件,自动生成 launch.json 配置,加点儿代码,放个断点,最后 F5 调试,大功告成!

调试

参考资料

阅读 693

推荐阅读