1 RLS触怒了我

我是一个专一的人,从学习Rust起就在vscode中使用rls作为跳转插件(主要原因其实是懒),如果不是今天它彻底触怒了我,恐怕我还会对它继续钟情下去。

事情的原委是这样的,今天下载了某开源项目的代码,使用vscode打开其工程,点击rls安装的时候发现安装总是失败。本来这是一件小事,但是想起这些年来使用rls受的委屈,终于促使我决定将它换掉。

听到大家都非常推荐rust-analyzer,于是我决定试试,不过真是不试不知道,一试吓一跳。

2 使用rust-analyzer,构建丝滑般跳转

rust-analyzer作为vscode插件,肯定要先安装rust基础环境和vscode。

2.1 rust基础环境安装

rust安装,我一般会安装如下:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup default stable
rustup update
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly

2.2 vscode

从官网下载vscode的code_1.64.2-1644445741_amd64.deb包,然后执行​​sudo dpkg -i code_1.64.2-1644445741_amd64.deb​​安装。

2.3 安装rust-analyzer和CodeLLDB

打开vscode,选择EXTENSIONS安装,

  • 输入rust-analyzer,选择安装;
  • 输入CodeLLDB,选择安装。

2.4 纵享丝滑般跳转体验

重启vscode,打开一个rust工程,例如substrate,然后就静静的等待rust-analyzer加载。

加载完成,随意点击代码,发现真是丝滑般的体验,想怎么跳转怎么跳转。

在加载的过程中,如果遇到加载缓慢的情况,可以用如下步骤化解

  • ​rm -rf ~/.cargo/.package-cache​​;
  • 在工程目录下运行​​cargo metadata​​;
  • 重启​​vscode​​。

3 后记

在学习Rust源码的道路上曾经无数次被不知道定义的宏或者函数难住,有了rust-analyzer,实现丝滑般跳转,再也不用担心看代码的效率了。