> 技术文档 > VSCode搭建Rust开发环境_vscode rust

VSCode搭建Rust开发环境_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-initRUSTUP_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/rustupRUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup# 中国科学技术大学RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-staticRUSTUP_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 开发环境

说明:

  1. \"本机环境 \" 指的是可以联网的环境,\"离线环境\" 指的是不可以联网的离线环境。
  2. 本机平台和离线平台需要一样,例如都是 Linux 环境,不适用于本机平台是 Windows,而离线平台是 Linux。

步骤:

1、首先在本机环境,搭建 Rust 开发环境。

2、然后把本机环境用户目录下的 ~/.cargo 和 ~/.rustup 打包并上传到离线环境的用户目录下,然后解压到离线环境的用户根目录下。

参考脚本:upload_rust_dev.sh

#!/bin/bashuser_ip=\"zhangdongyu@10.xxx.xxx.xxx\"# 打包本机Rust开发环境cd ~tar czvf cargo.tar.gz .cargotar 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 --versionrustc 1.81.0 (eeb90cda1 2024-09-04)[20:23:47 rust]$ cargo --versioncargo 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\\includeC:\\msys64\\mingw64\\binC:\\msys64\\mingw64\\lib

4、接下来按照此教程搭建 Rust 开发环境《Win10使用mingw64配置Rust开发环境》。但是要跳过第二步《安装 mingw64》,因为我们上述已经通过 MSYS2 安装了。

5、之后在 PowerShell 中通过 rustup 安装其它包:

rustup component add rust-srcrustup component add rust-analyzer

6、VSCode 配置 rust-analyzer 插件路径。

(1) 在 PowerShell 中查看 rust-analyzer 的路径:

PS C:\\Users\\zhang> Get-Command rust-analyzerCommandType Name Version 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 系统。