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

前言

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

安装

环境

裂墙推荐 VS Code+WSL2,编辑器选择 VS Code 无话可说,至于环境为啥推荐 WSL2,缘由以下:github

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

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

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

配置 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

# 更改 crates.io 为清华源,这里貌似要比中科大好一些,能够自行测试
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>

更改工具链的源,添加以下内容到 ~/.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 中安装以下扩展:url

  • Rust
  • CodeLLDB(须要 WSL2 支持)

关于 CodeLLDB,若是使用 WSL1 或者不想用 LLDB 调试的话,能够安装 C/C++ 扩展,而后使用 GDB 进行调试。spa

测试

新建个项目看下效果:.net

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

新建项目

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

调试

参考资料

相关文章
相关标签/搜索