Rust #
安装Rust #
设置rustup的镜像:
1# 临时替换
2# 清华源
3export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup
4export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
5
6# 或使用阿里云源
7export RUSTUP_UPDATE_ROOT=https://mirrors.aliyun.com/rustup/rustup
8export RUSTUP_DIST_SERVER=https://mirrors.aliyun.com/rustup
安装rustup:
1curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
如果页面出现:
1Rust is installed now. Great!
表示已经安装成功。
Rust通过rustup
工具进行安装和管理。如果已经安装过rustup
,可以通过运行rustup update
来更新安装。
更多信息可参阅rustup文档。
配置PATH
环境变量:
在Rust开发环境中,所有工具都安装在~/.cargo/bin
目录下,这里是可以找到Rust工具链的地方,包括rustc
、cargo
和rustup
。
因此,Rust开发者习惯将这个目录添加到他们的PATH
环境变量中。在安装过程中,rustup
会尝试配置PATH
。由于不同平台、命令shell之间的差异以及rustup
中的bug,对PATH
的修改可能要到控制台重启或用户重新登录后才能生效,也可能完全不成功。
如果安装后在控制台运行rustc --version
失败,这很可能就是原因所在。
如果想要卸载Rust,可以运行rustup self uninstall
。
VSCode扩展 #
安装必要的工具:
1apt update
2apt install build-essential
安装VSCode扩展:
- rust-analyzer extension
- CodeLLDB extension
- Even Better TOML
- Dependi,
crates - Rust Syntax
- Coverage Gutters extension
- Rust Test Explore
codelldb扩展包比较大,需要手动安装(注意不要再code扩展里点安装,保持codelldb未安装状态,使用下面的命令手动安装):
1wget https://github.com/vadimcn/codelldb/releases/download/v1.10.0/codelldb-x86_64-linux.vsix
2code-server -vvv --install-extension ./codelldb-x86_64-linux.vsix
本机Rust开发环境的配置 #
配置carte.io
仓库使用国内镜像
#
配置cargo对于crate.io
仓库使用国内代理镜像,创建或编辑~/.cargo/config.toml
:
1[source.crates-io]
2replace-with = 'rsproxy'
3
4[source.rsproxy]
5registry = "https://rsproxy.cn/crates.io-index"
6
7[registries.rsproxy]
8index = "https://rsproxy.cn/crates.io-index"
9
10[net]
11git-fetch-with-cli = true
cargo edit #
安装cargo-edit:
1apt install libssl-dev
2apt-get install pkg-config
3cargo install cargo-edit
单元测试覆盖率 #
支持单元测试覆盖率显示:
- cargo tarpaulin: 运行测试并分析你的Rust代码并提供代码覆盖率数据
- cargo watch: 每次我们保存文件时,运行
cargo tarpaulin
- coverage gutters: 在VSCode中显示覆盖的代码行
1cargo install cargo-tarpaulin
cargo tarpaulin命令的更多参数详见。
1cargo tarpaulin --out Lcov --output-dir target/tarpaulin
上面的命令在target目录里生成了lcov.info
文件。
CMD+Shift+P
输入Coverage Gutters: Watch
输入后,会自动发现lcov.info文件,并在项目源码中显示测试覆盖率。
安装cargo-watch:
Cargo Watch监视你的项目的源代码是否有变化,并在变化发生时运行Cargo命令。
1cargo install cargo-watch
1cargo watch -x 'tarpaulin --out Lcov --output-dir target/tarpaulin'
性能优化:
1cargo watch -x 'tarpaulin --out Lcov --output-dir target/tarpaulin' -w src
其他工具 #
查看cargo install安装的所有工具和版本
1cargo install --list
cargo-generate #
cargo-generate是一个开发者工具,它通过利用预先存在的git仓库作为模板,帮助快速创建一个新的Rust项目。
cargo-deny #
cargo-deny是一个cargo插件,它允许您对项目的依赖关系图进行检查,以确保所有依赖项符合您的期望和要求。开发者可以定义规则,可以帮助开发者避免使用被禁止的包或不允许的开源许可证。
typos #
typos: 源代码拼写检查器。查找并纠正源代码中的拼写错误,速度足够快,可以在大型代码库中运行。
1cargo install typos-cli
git-cliff #
git-cliff可以通过利用约定式提交以及由正则表达式驱动的自定义解析器,从Git历史记录中生成变更日志文件。可以使用配置文件自定义变更日志模板,以匹配所需的格式。
nextest #
nexttest 是Rust的新一代测试运行器。