首先先确认是否安装了Rust Extension Pack
该扩展包含了
- rust-analyzer
- crates
- Better TOML
当然你单独安装也没问题,如果之前已经安装但是还是不能正常代码提示,很有可能是rust-analyzer
的问题
解决1 (清除缓存)
cargo clean
如果还不能正常提示,很有可能是rust-analyzer
的运行占用导致,你可以尝试安装一些东西(或者其他cargo命令)
比如:
cargo install crm
如果出现该问题
Blocking waiting for file lock on the registry index
则说明可能有其他rls或cargo运行,导致你无法进行其他任务。
解决2 (杀死进程)
sudo pkill rls cargo
此时大概率是能够解决了。
解决3 安装慢问题(防范未然)
如果你通过方法1
或者方法2
解决了问题,但我相信你很快又会复现该问题,笔者就遇到不止一次,该问题的根源大部分来自于依赖安装过慢问题,因此有必要使用更快的安装方式,这里推荐的是 crm
使用 crm 进行切换下载源 地址 github.com/wtklbm/crm
- 安装
cargo install crm
- 使用
crm best
自动切换到最快下载源。
总结
目前vscode的rust-analyzer插件存在一定的问题,不是单纯的重启就能解决(在以上解决步骤中,最好伴随重启尝试进行验证),因此可能需要清除缓存或者杀死进程进行解决,如果未出现问题之前,可以使用crm
进行下载源切换,占用进程也有一定情况是上一个任务或者依赖未完成而导致的。