Open7

RustRoverを試してみる

yukiyuki

新しいRust用のIDEが出たので試してみる。ラストロバーと読みそう。
https://blog.jetbrains.com/rust/2023/09/13/introducing-rustrover-a-standalone-rust-ide-by-jetbrains/

余談だが、roverは月面探査機(Lunar Rover)とか火星探査機(Mars Exploration Rover)とかの印象がある単語。Rustが頭についており、火星の土壌が酸化鉄を多く含むといわれていることから、RustRoverと聞いた瞬間に火星探査機を思い浮かべてしまった。

yukiyuki

現在はプレビュー版をダウンロードできる。外観はこんな感じ。JetBrains製製品を久々に起動してみたが、他のものとあまり変わらない印象。

プレビュー版でもIdeaVimを利用できることがわかったので、さっそくIdeaVimを入れてVimモードを利用できるようにした。
https://github.com/JetBrains/ideavim

yukiyuki

普通にメイン関数で起動するとcargo runコマンドが走る。これにより、アプリケーションを起動できる。ショートカットキーはIntelliJのときと変わらずMacならCtrl + Shift + R。また、デバッグモードも用意されており、こちらはCtrl + Shift + Dで起動できる。このあたりはIntelliJと変わらない。

今取り組んでいるサンプルプロジェクトはcargo makeを利用している関係で、起動時にこれを利用したい。

一応起動構成は変えることができて、起動時のコマンドをmake xxxに変えるだけ。今回のプロジェクトではcargo make runというコマンドが用意されているので、これを実行するようにしてみた例。これで問題なく起動できた。

ただしこれを利用するとデバッグモードが使えない。やり方は調査中。

yukiyuki

このプロジェクトはやはりcargo makeでいろいろ環境変数とかをセットアップするようになっている関係でうまく起動できないことはわかっているので今回は試していないが、docker compose上で起動するなどのオプションもあるみたい(他にはDockerとかssh接続で起動とか)。IDEなので、IDE専用に起動環境を整えれば相当便利に使えそう。昔のJavaの現場みたいに(たとえばEclipseとかの)あらかじめ設定をカスタマイズして用意しておき、それを共有するみたいな感じで使えると思われる。

yukiyuki

Shift2回押して出てくる構造体やインターフェース名から探せるやつ健在だ。IntelliJからVSCodeに映ったことがある勢だけど、VSCodeにはこの機能がない気がしていて(気がしているだけ)、地味に不便だなと思ってたやつ。

モックオブジェクトみたいにマクロで生成されるやつも対象内っぽい。すごい。

yukiyuki

今のところコンパイルエラーを横に出してくれるUIはない感じ?下記はコンパイルエラーになるコードをRustRoverでわざと書いてみたもの。とくに横とかに何も出ない…(ついでにカラーテーマをNightfoxっぽいやつに変えてる)

Neovimで見ると下記のようになっている。

これ便利なので欲しいところ。今後改善されると思うけど