Sublime 配置 Rust 环境
原文链接 https://hsfzxjy.github.io/2019-01-06-rust-sublime/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
rustup v.s. cargo
cargo 是 Rust 最底层的包管理器,类似 npm 或 pip。
rustup 是 Rust 的工具链管理器,允许开发者在多个不同版本的工具间切换。所谓工具不仅包括 rustc 和 cargo,还包括 rustfmt、racer 等一系列辅助开发的模块。类似于 Anaconda、Pipenv 之于 Python,或是 n 之于 Node.js。
Rust 的工具链默认存在于 ~/.cargo/bin
中,rustup 会用代理脚本覆盖其中的可执行文件,从而用户可以通过命令行标志方便地切换版本。
stable v.s. beta v.s. nightly
Rust 官方默认提供三个通道,稳定性依次递降,即时性依次递增。当然,还有众多的第三方版本。
Rust 工具链普遍有一个标志 +<channel>
用于注明通道版本,如:
$ rustc +nighly --version
rustc 1.33.0-nightly (68fe5182c 2019-01-05)
$ rustc +stable --version
rustc 1.31.1 (b6c32da9b 2018-12-18)
Sublime 配置
我们希望让 Sublime 支持如下功能:
- Auto Formatting
- Auto Completement
- Check on Save
为此需要两个插件:
- Rust Enhanced(提供 3)
- Anaconda Rust(提供 1 和 2)
Rust Enhanced
直接安装即可。
Anaconda Rust
官方版本停更了,rustfmt
相关功能有一些问题。为此需要使用我修改过的版本:https://github.com/hsfzxjy/anaconda_rust 。
依赖 rustfmt
和 racer
。
racer
racer
需要 nightly
版本,用以下脚本安装:
$ cargo +nightly install racer
此方法需要本地编译,时间比较久。
自动补全的完成还需要一份 Rust 库的源码,可以从这个页面 下载。
解压完成后需要配置 Anaconda Rust
插件的 rust_src_path
选项。
rustfmt
rustfmt
支持使用 rustup
安装,更省时间:
$ rustup component add rustfmt-preview