Rust
更好的 IDE 配置.RUST
December 10, 2018
这段时间一直忙于折腾 Rust,自从 Rust 2018 Edition 出来之后,一个很明显的感受就是写起来更加符合一个现代化编程语言的样子,当然也有可能是我的水平太低了,还不足以体验到 Rust 那种非人类的写法和特性。
这一系列文章会是我记录 Rust 学习路程的文章,那么自然而然地就是从环境配置开始了。
PS: 这一系列的文章都是以 MacOS 为基础,不会过多涉及 自编译 Rust、环境折腾等等内容,更加注重在如何高效地进行 Rust 开发和 Rust学习技巧。
Rustup
Rust 官方推荐使用 Rustup 来安装,这是一个相对好的软件,他可以帮你管理一系列的 Rust 生态。它在某种程度上像 Python 的 pipenv ,Node 的 nvm 和 n 。Rust 的环境需要装很多东西:
cargo项目管理和依赖管理rust-stdRust 的 std 库,用于代码提示和分析rustfmt用于格式化代码cargo-watch监控文件修改以便重启服务的插件
等等,很多很多的配套软件生态。同时 Rust 自己也有三个大版本stable beta nightly 。三个版本之间的组件也各不相同。因此在版本切换的时候就需要同时更新相对于的生态组件。Rustup 就很好的帮助我们管理。
安装就不过多描述,详情可以查看这里
IDE 的选择
目前来说,Rust 最好用的有三个编译器支持 vim vs code JetBrains IntelliJ
当然如果你愿意折腾其他的IDE,可以查阅这里 Are we IDE yet
我个人大部分时间用的是 JetBrains Clion ,实际上是跟 IntelliJ 是一样的。小部分时间在使用 vs code 。
这里我会讲一些我日常用的 IDEA 插件
Rainbow Brackets

这个东西可以让你更加直观地匹配到括号的范围
Highlight Bracket Pair

在一些复杂的函数里面,可以可以比较清晰地看到当前 block 的范围
Git Conflict
这个插件是用来高亮 conflict 的范围,不需要人肉查看冲突的范围在哪个部分
Active Intellij Tab Highlighter

IntelliJ 的高亮 TAB 一直都是一个很麻烦的问题,所以这个插件可以自定义颜色用来高亮当前的 TAB
常用的几个 Cargo 组件
cargo-watch
cargo-watch 用来自动监听项目文件以重新执行编译工作。目前来说我最经常的使用场景就是
cargo watch -x run一般用于 web 的开发cargo watch -x test用于写库时自动重新跑 Testcase
Cargo doc
这个就是自带的命令,用于生成项目的文档