背景
最近Rustに入門しようとしていたタイミングでrtxがmiseに名称変更したと聞いて、せっかくなのでmiseでRustの環境構築をすることに
miseを導入して
mise use -g rust@latest
rustup install stable
rustup default stable
でサクッと導入完了
そしてVSCodeで補完が効く環境を構築しようとしたところrust-analyzerが動かない。。。
環境
- WSL2(Ubuntu22.04)
- VSCode(v1.86)
- rust-analyzer(v0.3.1850)
- mise(2024.2.17)
- Rust(1.76.0)
結論
VSCodeのsettings.jsonに以下を追記すればいい
※以下はWSL2でバージョンにlatestを指定する場合の例なので適宜読み替えてください
settings.json
{
"rust-analyzer.server.extraEnv": {
"RUSTC": "/home/ユーザー名/.local/share/mise/installs/rust/latest/bin/rustc",
"CARGO": "/home/ユーザー名/.local/share/mise/installs/rust/latest/bin/cargo",
"RUSTFMT": "/home/ユーザー名/.local/share/mise/installs/rust/latest/bin/rustfmt",
"RUSTUP_TOOLCHAIN": "stable"
},
"rust-analyzer.cargo.sysroot": "/home/ユーザー名/.local/share/mise/installs/rust/latest/toolchains/stable-x86_64-unknown-linux-gnu"
}
rust-analyzer.server.extraEnv
で各コマンドのパスやtoolchainを指定できるらしいことはわかったんですが詳細は把握できてないです