vscode中使用rust的跳转定义时,rust-analyzer报错“未找到定义”,如何解决?

本文是关于错误解决的一个记录,如果你在使用vscode编写rust程序的过程中也遇到同样的错误,不妨一试。

我遇到的错误是,在编写的rust程序中想要跳转到当前变量或者函数的定义处,但按下F12无法跳转,且提示"未找到xxx定义"。

我将rust-analyzer插件卸载重启后再试,发现没有用。将vscode关掉重开,没用。将电脑关机重启,没用。

检查程序代码,发现也没有问题,cargo check可以运行,代码没有问题,cargo run可以运行,代码正常运行。

使用cargo clean后,再次cargo build,发现也没用。

然后,我将我项目工作区文件夹下的其中一个项目强制删除,此时rust-analyzer插件报错,查看错误发现报错为:

如上图,红色箭头所指的,是我删除的项目,根据这个报错,即我虽然删除了这个项目,但rust-analyzer的某个配置保留了这个项目的路径,导致报错。

于是查找workspace,发现配置文件:

如上图,即workspace.json:

xml 复制代码
"settings": {    
		"typescript.tsc.autoDetect": "off",
		"rust-analyzer.linkedProjects": [
			".\\gui-btn\\Cargo.toml",
			".\\temp\\Cargo.toml",
			
		],

这个json文件中有个rust-analyzer.linkedProjects选项,其中配置的就是当前工作区下面的项目路径。可以看到,此处的路径需要和项目匹配上。

于是,我将已经删除的项目对应的路径,也删除,然后将新建的项目路径添加上去,再重新加载,发现rust程序即可以跳转了。

相关推荐
轻舟技术A6 小时前
Rust 重写 Pi:会话启动耗时降 91%,就绪内存少 78%
开发语言·后端·rust
unconditional7 小时前
外部命令改不了你的 shell:sdkm 怎么做到"回车即生效"
rust·开源
程工造Agent7 小时前
从 0 到 1 学 Codex 源码:为什么 let b = a 之后,a 就不能用了?
rust·ai编程
Norna7 小时前
方差怎么会是 −32:nushell math variance 的一次数值修复
rust
JavaPub-rodert8 小时前
王仕宇分享:Oxigraph 是什么?用 Rust + RocksDB 搭一个轻量 RDF/SPARQL 知识图谱数据库
数据库·rust·知识图谱
tedcloud1239 小时前
Docker Compose 部署 Memos:从安装到备份恢复
linux·开发语言·jvm·后端·docker·容器·rust
l1t11 小时前
pgrust v0.4-beta 安装和查询测试
数据库·postgresql·rust·duckdb·pgrust
2501_9151063211 小时前
Windows 用 KXBuild 开发 iOS 项目,CocoaPods、SPM 怎么处理?
windows·vscode·ios·个人开发·swift·敏捷流程·cocoapods
2501_9159090612 小时前
KXApp 能打开哪些 iOS 项目?xcodeproj 与 CocoaPods 支持清单
ide·vscode·ios·个人开发·xcode·敏捷流程·cocoapods
运维开发笔记20 小时前
5.Rust 向量(Vec)入门指南
rust