Open1
VSCodeで、複数のrustプロジェクトを含むディレクトリを開いたらrust-analyzerが動かない時の対応
こんなディレクトリ構成で、vscodeでsample_rust_projectを開いたときに、
- sample_rust_project
- sub_project1
- Cargo.toml
- sub_project2
- Cargo.toml
- sub_project3
- Cargo.toml
rust-anlyzerで以下のようなエラーが出た。
[ERROR rust_analyzer::main_loop] FetchWorkspaceError:
rust-analyzer failed to load workspace: Failed to read Cargo metadata from Cargo.toml file /home/project/sample_rust_project/./Cargo.toml, Some(Version { major: 1, minor: 69, patch: 0 }): Failed to run `cd "/home/project/sample_rust_project" && "cargo" "metadata" "--format-version" "1" "--manifest-path" "/home/project/sample_rust_project/./Cargo.toml" "--filter-platform" "x86_64-unknown-linux-gnu"`: `cargo metadata` exited with an error: error: manifest path `/home/project/sample_rust_project/./Cargo.toml` does not exist
原因は、rust-anlyzerのextension settingsで、
setting.jsonにどのプロジェクトを対象にするかの指定がされてしまっていたこと。
"rust-analyzer.linkedProjects": [
"./Cargo.toml"
],
いつ設定したのか記憶にないが、これを消せばOK