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

前言

初学 Rust,考虑了许久,计划 Rust+Neon+Node.js+Electron 开发些东西玩一玩
不过在第一步配置环境上就踩了好多坑 故分享出来……方便大家第一时间赶到现场嘲笑

安装

环境

裂墙推荐 VS Code+WSL2,编辑器选择 VS Code 无话可说,至于环境为啥推荐 WSL2,原因如下:

  • Windows 环境需要安装 MSVC 生成工具,一通操作就是几个G,太笨重
  • WSL1 对 LLDB 的支持不太行
  • Linux 系统对于 Rust 版本还有 Git 依赖管理起来很方便

关于以上第二点,原本我也用的 WSL1,前期一直很顺利,用 GDB 调试也很正常,不过换成 LLDB 之后死活启动不了调试器,遂斗胆换成了WSL2,然后嘛……真香

虽然不知道自试用 WSL2 两个月以来发生了什么,但是目前的 WSL2 各方面感觉都蛮优秀了

配置 Rust

直接参考官方教程就行了,不过可能需要临时换个源来加速安装:

# 镜像加速,使用的是中科大的源,速度很快
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

# 添加到 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 = 'tuna'
# replace-with = 'ustc'
# replace-with = 'sjtu'
# replace-with = 'rustcc'

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

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

# 上海交通大学
[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 无法读取……可以使用如下命令导入

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

在 VS Code - WSL2 中安装如下扩展:

  • Rust
  • CodeLLDB(需要 WSL2 支持)

关于 CodeLLDB,如果使用 WSL1 或者不想用 LLDB 调试的话,可以安装 C/C++ 扩展,然后使用 GDB 进行调试。

测试

新建个项目看下效果:

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

Rust+VS Code+WSL2+LLDB 安装/配置/调试指南_第1张图片

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

Rust+VS Code+WSL2+LLDB 安装/配置/调试指南_第2张图片

参考资料

你可能感兴趣的:(rust,lldb,教程)