フィネットエンジニアだより

株式会社フィネットのエンジニア感があるんだかないんだかよくわからないブログ

Rustことはじめ(その2 開発環境について)

f:id:inet_engineer:20160427205526p:plain

ドーモ、親愛なる読者のみなさん。角田です。

前回 に引き続き、今回はRustの開発環境について見ていきましょう。

Racerによるコード補完 

Racer は、Rustのコード補完を行ってくれます。

インストールは、今のところはソース取ってきてビルドしろ、らしいです。

とはいえ、Cargoでビルドするだけなので特に難しくはないです。

$ git clone https://github.com/phildawes/racer.git
$ cd racer
$ cargo build --release

target/release以下にバイナリが吐かれます。

Racerの動作にはRust本体のソースが必要となります。

別途ダウンロード しましょう。

実際にはRacerを別のエディタなりIDEなり経由で動かすことになるでしょう。RacerのreadmeにはEmacsVim について書かれています。

その他は?

指がEmacsVimに呪われてない人はどうすればいいのでしょうか?

上記以外のエディタやIDEについて見てみましょう。

SolidOak

f:id:inet_engineer:20160427212032p:plain

SolidOak は、Rustの軽量IDEです。

Racerはバンドルされており、ダウンロードすればすぐ動きます。が、LinuxMacのみのサポートです。

中身については、Vim+ファイルエクスプローラ+実行結果のコンソール、みたいな感じになっています。

指がVimに呪われてない人用にEasyMode(insertモードオンリーみたいな感じ)が用意されています。

が、これ個人的にはVimでいいんじゃないか感が…。

RustDT

f:id:inet_engineer:20160427212054p:plain

RustDT は、EclipseのRustプラグインです。

コード補完はRacerのパスをインストール後に設定する必要があります。

シンタックスハイライトとRacerのサポートくらいで、まだリファクタリングの機能などもない感じです。(アウトラインも出ない)

デバッグGDBを利用する形です。

idea-rust

f:id:inet_engineer:20160427212247p:plain

Intellij IDEA用のプラグイン です。

シンタックスハイライトくらいで、まだ補完機能はないようです。(近日来ます!的な文言がありますが直近の更新は2月くらい…)

light-rust

f:id:inet_engineer:20160427212159p:plain

LightTable 用のプラグインです。

こいつもシンタックスハイライトだけみたいです。

Sublime Text用プラグイン

f:id:inet_engineer:20160427212042p:plain

Sublime Text package for RustRust​Auto​Complete があるようです。それぞれシンタックスハイライトとRacer経由のコード補完をサポートします。

ちょっと使ってみた感じ結構良かったんですが、ドカドカtmpファイルを吐き出す謎挙動をしていました。何だったんだろう…。

まとめ

IDEの手厚いサポートについてはまだまだこれから、といったところです。

現時点だと、RustDTかSublimeText、もしくはVim/EmacsでRacerだけ使う、というのがベターでしょうか。