VSCode搭建Rust开发环境
1. VSCode 搭建 Rust 开发环境
本文以 Windows VSCode + WSL 开发环境搭建为例,其它开发环境类似。
1、安装 WSL,参看《离线安装WSL & 导出与导入WSL》
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_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup # 中国科学技术大学 RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
经验实测,用中科大的比较好。实测时使用清华大学的源在用 rustup 下载某些包时提示找不到。
4、安装 VSCode。
5、安装 Rust 插件:
rust-analyzer
简介:Rust language support for Visual Studio Code.
Error Lens
简介:更好的错误提示。
vscode-rustfmt
简介:Rust 格式化工具。
Even Better TOML
简介: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.xxx.xxx.xxx" # 打包本机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
适用于公司网络:
[net] git-fetch-with-cli=true
4. Win10 使用 mingw64 搭建 Rust 开发环境
1、从 www.msys2.org 安装 MSYS2。
MSYS2 是一个工具和库的集合,为您提供了一个易于使用的环境,用于构建,安装和运行本机 Windows 软件。
2、安装 GNU 工具集:
$ pacman -Sy && pacman -Syu $ pacman -S mingw-w64-x86_64-toolchain
3、添加环境变量。「转到设置 > 搜索并打开 高级系统设置 -> 点击 环境变量 按钮 > 选择 Path > 点击 编辑」添加以下三个条目:
C:\msys64\mingw64\include C:\msys64\mingw64\bin C:\msys64\mingw64\lib
4、接下来按照此教程搭建 Rust 开发环境《Win10使用mingw64配置Rust开发环境》。但是要跳过第二步《安装 mingw64》,因为我们上述已经通过 MSYS2 安装了。
5、之后在 PowerShell 中通过 rustup 安装其它包:
rustup component add rust-src rustup component add rust-analyzer
6、VSCode 配置 rust-analyzer 插件路径。
(1) 在 PowerShell 中查看 rust-analyzer 的路径:
PS C:\Users\zhang> Get-Command rust-analyzer CommandType NameVersion Source ----------- ----------- ------ Application rust-analyzer.exe 0.0.0.0 C:\Users\zhang\.cargo\bin\rust-analyzer.exe
(2) 在 VSCode 的 settings.json 中添加配置:
"rust-analyzer.server.path": "C:\\Users\\zhang\\.cargo\\bin\\rust-analyzer.exe"
7、如果仍然无法启动 rust-analyzer,则重启 Win10 系统。