我在使用 vscode + rls 的时候,如果选择 std 库中的符号进行跳转,会提示在当前工程路径下找不到 std 源文件。我用的是 rls-vscode 这个插件。
看了一下 rls 的源码,问题应该是在处理 std 库的 analysis 文件中的相对路径的时候,没有把环境变量 RUST_SRC_PATH
作为 root,而是把当前工程路径作为 root,所以才会在当前工程路径下寻找 std 的源码。
这个问题在 rls 的 issues 中曾经多次被人提交,最后都合并到这个 issue 上了,但是一直都没有官方的解决方案。
我写了一个小工具来临时的修复这个问题,就是简单的把 std 的 analysis 文件中的相对路径修改为绝对路径,经测试可以解决问题。
注意:运行之前请先手工备份 std 的 analysis 文件夹。
1
xmhjnathan 2018-03-05 02:21:09 +08:00 via Android
这确实是个大问题,racer legacy 还老崩
|