目前有两种靠谱解决方案:
1、Idea Community 的rust插件(免费,Clion收费)
2、vs code vscode-rust插件
本博客系统环境:
系统: Manjaro KDE Linux
rust 的版本: 1.43.0-nightly
Vscode 版本: 1.42.1
一、VS Code 搭建rust 开发环境
优点:启动速度快,界面简洁
缺点:vscode 相比与idea, 需要配置的比较多一些
1、安装rls
rustup update
rustup component add rls-preview rust-analysis rust-src
2、配置跳转到标准库
安装racer
cargo install racer
然后用vscode 安装rust 插件 vscode-rust
3、配置环境变量:
export CARGO_HOME="~/.cargo/"
export RUSTBINPATH="~/.cargo/bin"
export RUST="~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu"
export RUST_SRC_PATH="$RUST/lib/rustlib/src/rust/src"
export PATH=$PATH:$RUSTBINPATH
4、配置rust 插件
Ctrl+P and type ext install vscode-rust
测试是否配置正常
如果你没有配置toolchain, 太会在右下角提示你install toolchain, 你点击yes 即可。
或者出现
To properly function, the extension needs to know what nightly toolchain you want to use
点击close按钮后会弹出框来让你选择。
参考: How do I tell VS code what toolchain I want to use?
安装完毕后
1、测试一下Ctrl+Shift+i
是否能正常格式化代码,如果能格式化代码说明已经配置正常了。
2、测试一下是否能跳转到标准库
如下代码
let a = String::new();
Ctrl+鼠标右键点击(或者直接采用F12)查看是否能进入该方法的实现处。
5、设置快捷键
自动检测cargo任务
{
"key": "shift+ctrl+F10",
"command": "workbench.action.tasks.runTask"
}
补充 :
rls-rust插件的基本功能:
- code completion 代码补全
- jump to definition, peek definition, find all references, symbol search 跳转代码定义处。跟Idea 相比功能相对较弱,在idea 里可以直接跳转到库函数源码的实现,但是vscode 还不行,只能跳转到自己定义的函数
- types and documentation on hover
- code formatting 代码格式化
- refactoring (rename, deglob) 重构
- error squiggles and apply suggestions from errors 错误建议
- snippets 代码片段(这个我也不知道什么意思,欢迎补充)
- build tasks 构建任务
二 、采用Jetbrains Idea Community 的rust 插件
优点:功能目前最强大,良好的快捷键,对于熟悉jetbrians系列的开发人员可以快速上手。
缺点:启动较慢,对与性能低的机器可能会卡。
常用功能:
Ctrl+Alt+L 格式化代码
Ctrl+Shift+F10运行 rust 文件
Ctrl+B 转到代码实现处
Alt+F12 打开控制台
如果您对idea 系列的插件感兴趣,请查看我写的系列文章:
第一部分:通用操作
第二部分:调试
第三部分:重构
第四部分:模板与对比
第五部分:IDEA插件介绍
第六部分:IDEA常用设置
建议使用idea的rust插件,开箱即用,对于新手很友好。语法提示功能很强大,还包括转到源码定义等强大功能。
jetbrians 的系列ide都十分出名,而且对开发人员十分友好,强大的快捷键,炫酷的界面,自带的git版本控制等。