林中两路分,一路人迹稀。我独选此路,境遇乃相异。

0%

在Win10下部署VSCode的Rust开发环境


Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。在一定意义上来说,可以和C++竞争。虽然发展迅速,但由于语言相对较新,各方面资料较少,本人在win10下部署VSCode的Rust环境时遇到各种问题,最后终于搭建起来了,现把步骤记录一下。

1. 安装 C++ build tools

在Windows环境下开发rust,一般都用微软的C++ build tools,可以安装最新的Microsoft Visual C++ Build Tools 2019,如果没有安装Visual Studio,可以只安装Visual C++ Build Tools。

1.1 下载C++ build tools

下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/
拉到下面的“所有下载”,找到“Visual Studio 2019工具”,下载工具安装程序。
vstool

1.2 安装 vs_buildtools

运行下载下来的exe程序,选择界面中的“工作负载”标签页的“C++生成工具”
vstoolsetup

2. 下载安装Rust开发工具包 rustup-init.exe

官方地址:https://www.rust-lang.org/
rustup-init.exe 是rust 开发环境的初始工具包,可以通过该工具软件下载rustupcargo
运行rustup-init.exe 后,显示如下
rustinit
默认会安装到当前用户下,该软件默认检查环境变量CARGO_HOMERUSTUP_HOME,分别为.cargo.rustup设置目录,按需修改(需要注意的是后期包的累积可能会占用巨量的存储空间)。
一般默认安装即可,默认的default host triplex86_64-pc-windows-msvc,如果需要用GDB作为调试器,则要选择自定义安装,将default host triple改为x86_64-pc-windows-gnudefault toolchain选择stable,实际我们在配置vscode的环境的时候需要用到nightly版本。下载安装完成后,输入命令,检查安装是否成功:正确输出版本信息则表示安装成功。

1
2
3
4
> rustup --version
rustup 1.20.2 (13979c968 2019-10-16)
> cargo --version
cargo 1.39.0 (1c6ec66d5 2019-09-30)

如果需要安装nightly版本,并设置nightly为默认Rust环境,则运行:

1
2
> rustup install nightly
> rustup default nightly

更新所有rust:

1
> rustup update

检查rustup工具是否需要更新

1
> rustup self update

卸载rustup

1
> rustup self uninstall

Rust 所有工具链都被安装在了 ~/.rustup/toolchains/ 目录下面。如果你需要配置可以在这里面找。

2.1 setting.toml 配置文件说明

该文件位于.rustup目录下。

  • default_host_triple:对该文件进行修改以改变默认值。
  • default_toolchain:默认使用的工具链,可由rustup default <toolchain name>进行修改。

2.2 rustup命令

  • rustup show:列出现在使用的和已安装的rust版本。
  • rustup update:更新所有已安装版本,由于nightly是每日更新,可能会有bug,所以应谨慎。
  • rustup default:设置将要使用的版本。
  • rustup component <sub>:列出(list)、安装(add)、移除(remove)组件。
    例如:通过rustup获取最新源码:
    1
    > rustup component add rust-src

3. 国内加速

由于众所周知的原因,国内速度会很慢,所以可以使用国内镜像来加速。
这里列出科大源,修改环境变量如下,同时加速cargorust

4. Racer

racer是一个由rust的爱好者提供的rust自动补全和语法分析工具,被用来提供基本的补全功能和定义跳转功能。其本身完全由rust写成,补全功能已经比较完善了。如下有2种安装方式:

4.1 自动安装

1
> cargo install racer

在安装过程中会出错,提示需要使用nightly版本的rust支持,则安装nightly版本的rust

1
2
> rustup install nightly
> cargo +nightly install racer

4.2 编译安装

首先,下载源码:

1
> git clone https://github.com/phildawes/racer.git

编译

1
2
> cd racer 
> cargo build --release

编译好后其生成的二进制文件在目录target/release/racer下。
设置rust源码环境变量:RUST_SRC_PATH
测试安装结果:
linux 下

1
$ ./target/release/racer complete std::io::B

windows 下

1
> target\release\racer complete std::io::B

将会看到racer的提示,这表示racer已经执行完成了。

5. 安装rustfmt格式化工具

1
cargo install rustfmt

6. 集成VS Code编辑器

6.1 设置环境变量

环境变量 默认值 说明
RUSTUP_HOME ~/.rustup 或 %USERPROFILE%/.rustup rustup 的主目录,保存工具链和配置文件的地方。
CARGO_HOME ~/.cargo 或 %USERPROFILE%/.cargo Cargo 的主目录。
RUSTUP_TOOLCHAIN 如果设置了,会覆盖所有 rust 工具调用的工具链,必须是已安装的工具链的名字,否则会调用失败。
RUSTUP_DIST_SERVER https://static.rust-lang.org 设置静态资源的下载源。速度慢可以改为国内镜像。
RUSTUP_UPDATE_ROOT https://static.rust-lang.org/rustup 更新源,速度慢可以改为国内镜像。
RUST_SRC_PATH ~/.multirust/toolchains/[your-toolchain]/lib/rustlib/src/rust/src rust源码,用于racer进行代码补全

6.2 安装VS Code编辑器

官方地址:https://code.visualstudio.com/
安装完成后需要安装扩展插件。

6.2.1 安装插件

Windows平台:C/C++(Windows)
Linux/OSX平台:CodeLLDB
包管理插件:crates
Rust-lang扩展:Rust(rls),可以为很多IDE或编辑器提供包括不限于自动补全、跳转定义、重命名、跳转类型的功能支持。
因为前面安装的C++是Microsoft Visual C++ Build Tools 2019,所以我们不需要安装CodeLLDB。

6.3 配置 VS Code

安装好工具后,需要配置调试启动项:单击“调试(Debug)”->“添加配置(Add Configuration)”,如果是在windows上使用,则选择C/C++(Windows),如果是Linux或者Mac,则选择C/C++(gdb)
debugconfig1
windows的Microsoft Visual C++ Build Tools调试启动配置launch.json文件如下:
debugconfig2
之后编写代码,添加断点,就可以调试了。

6.4 测试

使用命令创建 Rust 新项目,之后使用 VSCode 打开项目

1
2
cargo new hello
code hello
-------------本文结束 感谢您的阅读-------------
觉得好,点这里 ^_^