我在使用 vscode + rls 的时候,如果选择 std 库中的符号进行跳转,会提示在当前工程路径下找不到 std 源文件。我用的是 rls-vscode 这个插件。
看了一下 rls 的源码,问题应该是在处理 std 库的 analysis 文件中的相对路径的时候,没有把环境变量 RUST_SRC_PATH
作为 root,而是把当前工程路径作为 root,所以才会在当前工程路径下寻找 std 的源码。
这个问题在 rls 的 issues 中曾经多次被人提交,最后都合并到这个 issue 上了,但是一直都没有官方的解决方案。
我写了一个小工具来临时的修复这个问题,就是简单的把 std 的 analysis 文件中的相对路径修改为绝对路径,经测试可以解决问题。
注意:运行之前请先手工备份 std 的 analysis 文件夹。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.