您现在的位置是:首页 >学无止境 >VSCode搭建Rust开发环境网站首页学无止境
VSCode搭建Rust开发环境
1. VSCode 搭建 Rust 开发环境
本文以 Windows VSCode + WSL 开发环境搭建为例,其它开发环境类似。
1、安装 WSL,参看《离线安装WSL & 导出与导入WSL(60)》
2、在 WSL 中安装 c/c++编译环境(Rust 依赖 gcc):
apt install build-essential
运行此命令会自动安装 gcc,g++,make 等工具。
3、在 WSL 中安装 Rust 编译工具。
方法 1:直接按照官网教程在线安装
在 WSL 的 shell 终端运行如下命令,接着按照提示操作即可:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
方法 2:用国内源安装
因为方法 1 是用国外源在线安装,可能比较慢,若下载缓慢,则可以使用国内源安装。
来源:rust 使用国内镜像,快速安装方法 - SnailRush - 博客园
(1) 根据平台下载 "rustup-init"
wget https://mirrors.ustc.edu.cn/rust-static/rustup/dist/x86_64-unknown-linux-gnu/rustup-init
其中 "x86_64-unknown-linux-gnu" 是对应的平台,可从官网找到所有支持的平台:
(2) 安装 rust 开发环境
chmod +x rustup-init
RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup ./rustup-init
会把相应的组件安装在 ~/.rustup
和 ~/.cargo
目录下,并修改用户的环境变量配置文件 ~/.profile
和 ~.bashrc
。
其它支持的国内源:
# 清华大学
RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
# 中国科学技术大学
RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
# 上海交通大学
RUSTUP_DIST_SERVER=https://mirrors.sjtug.sjtu.edu.cn/rust-static/
经验实测,用中科大的比较好。实测时使用清华大学的源在用 rustup
下载某些包时提示找不到。
4、安装 VSCode。
5、安装 Rust 插件:
简介:Rust language support for Visual Studio Code.
简介:更好的错误提示。
简介:Rust 格式化工具。
简介:TOML 支持。
6、在 WSL shell 终端创建一个 Rust 工程:cargo new greeting
。
【说明】
运行完此命令会在当前目录下构建一个名叫 greeting 的 Rust 工程目录。
7、用 VSCode 在 WSL 环境下打开 greeting
目录,会看到如下目录结构:
8、直接在 VSCode 中点击 "运行" > "启动调试/以非调试模式运行"。首次会提示错误,点击确定后会自动帮你创建 launch.json
文件(前提是正确安装了 Rust 所需的插件),等 launch.json
文件创建完毕后,再次在 VSCode 中点击 "运行" > "启动调试/以非调试模式运行" 就能以调试或非调试模式运行代码了。
若没有自动创建 launch.json
文件,则自己手动创建,并放于工程的 .vscode
目录下。
launch.json
文件内容:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug executable 'greeting'",
"cargo": {
"args": [
"build",
"--bin=greeting",
"--package=greeting"
],
"filter": {
"name": "greeting",
"kind": "bin"
}
},
"args": [],
"cwd": "${workspaceFolder}"
},
{
"type": "lldb",
"request": "launch",
"name": "Debug unit tests in executable 'greeting'",
"cargo": {
"args": [
"test",
"--no-run",
"--bin=greeting",
"--package=greeting"
],
"filter": {
"name": "greeting",
"kind": "bin"
}
},
"args": [],
"cwd": "${workspaceFolder}"
}
]
}
如果一个 Rust 包中既有库 creat 和二进制 creat,VSCode 中的调试按钮会自动运行库的测试代码,但是我们其实想调试的是二进制 creat。这是因为生成的 launch.json
第一项是库相关的,删除即可。
2. 离线安装 Rust 开发环境
说明:
- "本机环境" 指的是可以联网的环境,"离线环境" 指的是不可以联网的离线环境。
- 本机平台和离线平台需要一样,例如都是 Linux 环境,不适用于本机平台是 Windows,而离线平台是 Linux。
步骤:
1、首先在本机环境,搭建 Rust 开发环境。
2、然后把本机环境用户目录下的 ~/.cargo
和 ~/.rustup
打包并上传到离线环境的用户目录下,然后解压到离线环境的用户根目录下。
参考脚本:upload_rust_dev.sh
#!/bin/bash
user_ip="zhangdongyu@10.234.75.230"
# 打包本机Rust开发环境
cd ~
tar czvf cargo.tar.gz .cargo
tar czvf rustup.tar.gz .rustup
# 上传到远端并解压
scp cargo.tar.gz rustup.tar.gz ${user_ip}:~
ssh ${user_ip} "cd ~; tar xvf cargo.tar.gz; tar xvf rustup.tar.gz"
# 删除本机压缩包
rm -rf cargo.tar.gz rustup.tar.gz
# 删除远端压缩包
ssh ${user_ip} "cd ~; rm -rf cargo.tar.gz rustup.tar.gz"
3、在离线环境用户的 "profile" 文件 (CentOS 为 ~/.bash_profile
;Ubuntu 为 ~/.profile
) 和用户的 ~/.bashrc
文件的末尾各添加一句话:
. "$HOME/.cargo/env"
注意有个点 .
,在 Linux shell 中 .
是 source
指令的缩写。
4、离线环境的 Rust 开发环境至此已搭建完毕,在离线环境重新打开一个新终端测试:
[20:23:46 rust]$ rustc --version
rustc 1.81.0 (eeb90cda1 2024-09-04)
[20:23:47 rust]$ cargo --version
cargo 1.81.0 (2dbb1af80 2024-08-20)
若可以打印出版本号,则说明离线环境已成功安装 Rust 开发环境。
3. cargo 配置国内镜像源
在 ~/.cargo/config.toml
进行源和代理的配置。
字节跳动源:
[source.crates-io]
replace-with = 'rsproxy'
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
# 稀疏索引,要求 cargo >= 1.68
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
[net]
git-fetch-with-cli = true