Open1

RustのCargo.tomlの場所がrootに無い時にVSCodeでrust-analyzerのエラーを回避する方法

YuheiNakasakaYuheiNakasaka

通常のrustのプロジェクトだとCargo.tomlはルートディレクトリに配置されていると思うが、monorepoのようになっていた場合にmonorepoのルートでVSCodeを立ち上げるとrust-analyzerがrust-analyzer failed to discover workspaceというエラーを吐く。

これを修正するためにはルートに.vscode/settings.jsonを作成し、下記のような感じでCargo.tomlの場所を絶対指定のパスで直接指定すれば良い。これでエラーは回避できる。

{
  "rust-analyzer.linkedProjects": [
    "/Users/razokulover/src/github.com/example-helloworld/src/program-rust/Cargo.toml"
  ],
}

↓これでrust-analyzer.linkedProjectsというオプションを知った。
https://github.com/rust-analyzer/rust-analyzer/issues/2649#issuecomment-613911770