在VScode-SSH中Rust工程不能代码间跳转的原因

今天正常使用VScode-SSH访问虚拟机,但是发现读代码的时候不能使用ctrl+左键的方式跳转,然后看到Rust-Analyzer(VScode的Rust语言插件)报错.

2024-09-08T02:25:28.998500Z ERROR failed to find any projects in [AbsPathBuf("/home/winddevil/App")]
2024-09-08T02:25:29.002582Z ERROR FetchWorkspaceError: rust-analyzer failed to discover workspace
2024-09-08T02:25:29.020803Z ERROR FetchWorkspaceError: rust-analyzer failed to discover workspace

同时出现这样的错误.

但是把鼠标放在上边,点按Restart Server尝试重启仍旧无效.

后来仔细观察了报错内容,是无法找到Rust工程.

可见它只在我们当前的路径~/App下寻找这个工程.把鼠标放到左下角的红色报错上,显示如下内容:

Failed to discover workspace.

Consider adding the `Cargo.toml` of the workspace to the [`linkedProjects`]([https://rust-analyzer.github.io/manual.html#rust-analyzer.linkedProjects) setting](vscode-file://vscode-app/d:/00_Application/05_vscode/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html "https://rust-analyzer.github.io/manual.html#rust-analyzer.linkedProjects) setting").

Failed to load workspaces.

可见Rust-Analyzer是想要找到Cargo.toml但是具体是怎么找就不知道了.

这时候我们只需要切换到具体的工程文件就行了,比如我这里是~/App/rCore-Tutorial-Code-2024S,我就通过SSH,进行切换.

直接选择打开刚刚路径的工程文件即可.

这时候就没有报错了:

posted @ 2024-09-08 10:41  winddevil  阅读(110)  评论(1编辑  收藏  举报