👏
Rust環境設定(Emacs,LSP環境)
はじめに
Windows10+Emacs(27.1)でRustをやるための環境を整えます。
LSPも使いたいのでそこらへんの環境も含めています。
gitリポジトリはRust関係なく一元管理したいので、一つの.gitの下に複数のrustのプロジェクトを置いています。その関係でrusticは使えません(TopProjectの検索に失敗する)
手順
1. コンポーネントをinstallする
rustup component add rls rust-analysis rust-src
2. rust-analyzerをinstallする
msys2あたりを入れていて、curl, gzipは使えるものとする。
curl -L https://github.com/rust-analyzer/rust-analyzer/releases/latest/download/rust-analyzer-windows.gz -o rust-analyzer-windows.gz
gzip -d rust-analyzer-windows.gz
copy rust-analyzer-windows %USERPROFILE%\.cargo\bin\rust-analyzer.exe
rust-analyzerを使う理由
rlsだとfuturesを入れたとききちんとresolveしてくれないので。
3.M-x package-list-packagesでkeyエラーが出る場合
- GPG4Winを入れる。msysなどのgnupgだとパスがおかしくて取れない場合がある。
- PathをGPG4Winをmsysよりも上にする(msysのパスはSystemのパスにある)
4. Emacsのpackageをinstallする
rust-mode
lsp-mode
flycheck
frycheck-rust
lsp-ui
yasnippet
cargo
company
5. .emacsの設定
(add-to-list 'exec-path (expand-file-name "~/.cargo/bin/"))
(eval-after-load "rust-mode"
'(setq-default rust-format-on-save t))
(setq lsp-rust-server 'rust-analyzer)
(add-hook 'rust-mode-hook (lambda ()
(flycheck-rust-setup)
(lsp)
(flycheck-mode)
(yas-minor-mode)
))
6. main.rsなどを開く
Projectのディレクトリを聞かれるので、I(not i)を押してCargo.tomlのあるFolderを選択する。
最初のLoadに時間がかかるっぽくてエラーが出るが、気にしないで問題なさそう。
終わりに
rust-mode+lsp-modeによる環境構築を行いました。
自分の環境が特殊でrusticは使えなかったので、rust-modeを使用しました。
(.gitじゃなくて、Cargo.tomlのありかで探してほしい...)
参考
RustのLSP使用について(VS-Codeだと楽ちんっぽい)
rust-analyzer
Emacsでのrust-mode,lspの環境構築(rusticの設定がメインぽいけど)
rust-modeでの設定
EmacsでのGPG4Winの設定
Discussion
".emacsの設定”にyas-minor-modeの設定を追加
rust-analyzerを使用する方式に変更