<Rust>vscode中使用rust的跳转定义时,rust-analyzer报错“未找到定义”,如何解决?
如上图,红色箭头所指的,是我删除的项目,根据这个报错,即我虽然删除了这个项目,但rust-analyzer的某个配置保留了这个项目的路径,导致报错。我遇到的错误是,在编写的rust程序中想要跳转到当前变量或者函数的定义处,但按下F12无法跳转,且提示“未找到xxx定义”。检查程序代码,发现也没有问题,cargo check可以运行,代码没有问题,cargo run可以运行,代码正常运行。于是,我将
本文是关于错误解决的一个记录,如果你在使用vscode编写rust程序的过程中也遇到同样的错误,不妨一试。
我遇到的错误是,在编写的rust程序中想要跳转到当前变量或者函数的定义处,但按下F12无法跳转,且提示“未找到xxx定义”。
我将rust-analyzer插件卸载重启后再试,发现没有用。将vscode关掉重开,没用。将电脑关机重启,没用。
检查程序代码,发现也没有问题,cargo check可以运行,代码没有问题,cargo run可以运行,代码正常运行。
使用cargo clean后,再次cargo build,发现也没用。
然后,我将我项目工作区文件夹下的其中一个项目强制删除,此时rust-analyzer插件报错,查看错误发现报错为:
如上图,红色箭头所指的,是我删除的项目,根据这个报错,即我虽然删除了这个项目,但rust-analyzer的某个配置保留了这个项目的路径,导致报错。
于是查找workspace,发现配置文件:
如上图,即workspace.json:
"settings": {
"typescript.tsc.autoDetect": "off",
"rust-analyzer.linkedProjects": [
".\\gui-btn\\Cargo.toml",
".\\temp\\Cargo.toml",
],
这个json文件中有个rust-analyzer.linkedProjects选项,其中配置的就是当前工作区下面的项目路径。可以看到,此处的路径需要和项目匹配上。
于是,我将已经删除的项目对应的路径,也删除,然后将新建的项目路径添加上去,再重新加载,发现rust程序即可以跳转了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)