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工具”,下载工具安装程序。
1.2 安装 vs_buildtools
运行下载下来的exe程序,选择界面中的“工作负载”标签页的“C++生成工具”
2. 下载安装Rust开发工具包 rustup-init.exe
官方地址:https://www.rust-lang.org/rustup-init.exe
是rust 开发环境的初始工具包,可以通过该工具软件下载rustup
和cargo
。
运行rustup-init.exe
后,显示如下
默认会安装到当前用户下,该软件默认检查环境变量CARGO_HOME
、RUSTUP_HOME
,分别为.cargo
、.rustup
设置目录,按需修改(需要注意的是后期包的累积可能会占用巨量的存储空间)。
一般默认安装即可,默认的default host triple
是x86_64-pc-windows-msvc
,如果需要用GDB
作为调试器,则要选择自定义安装,将default host triple
改为x86_64-pc-windows-gnu
。default toolchain
选择stable
,实际我们在配置vscode的环境的时候需要用到nightly
版本。下载安装完成后,输入命令,检查安装是否成功:正确输出版本信息则表示安装成功。
1 | > rustup --version |
如果需要安装nightly版本,并设置nightly为默认Rust环境,则运行:
1 | > rustup install 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. 国内加速
由于众所周知的原因,国内速度会很慢,所以可以使用国内镜像来加速。
这里列出科大源,修改环境变量如下,同时加速cargo
和rust
:
RUSTUP_DIST_SERVER
:https://mirrors.ustc.edu.cn/rust-staticRUSTUP_UPDATE_ROOT
:https://mirrors.ustc.edu.cn/rust-static/rustup
4. Racer
racer是一个由rust的爱好者提供的rust自动补全和语法分析工具,被用来提供基本的补全功能和定义跳转功能。其本身完全由rust写成,补全功能已经比较完善了。如下有2种安装方式:
4.1 自动安装
1 | > cargo install racer |
在安装过程中会出错,提示需要使用nightly版本的rust支持,则安装nightly版本的rust
1 | > rustup install nightly |
4.2 编译安装
首先,下载源码:
1 | > git clone https://github.com/phildawes/racer.git |
编译
1 | cd racer |
编译好后其生成的二进制文件在目录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)
windows的Microsoft Visual C++ Build Tools调试启动配置launch.json文件如下:
之后编写代码,添加断点,就可以调试了。
6.4 测试
使用命令创建 Rust 新项目,之后使用 VSCode 打开项目
1 | cargo new hello |