😍

Rust開発時の便利ツールたち

2 min read 1

前書き

Rustを書くときに便利なツールをまとめた記事が無い気がしたので作成。(ちゃんと探してないので既にあるかも)
Tierは個人の独断と偏見で分けています。

公式ツール

Tier 1

  • cargo パッケージマネージャ
    • 基本だけどとても便利なツール
    • 一度はThe Cargo Bookを読んでおくことを推奨。
  • rustfmt フォーマッター
    • cargo fmt でもフォーマットの修正が出来る。(こっちを使うことが多い)
  • clippy lintツール
    • こう書いたほうが良いよという提案もしてくれるので便利。
    • cargo clippy --fix を使うと自動で直してくれる。

非公式ツール

Tier 1

  • rust-analyzer Language Server
    • rls もあるが、(最近は?) rust-analyzer の方がメジャーな気がする。
  • cargo-watch ソースコードの変更を検知して自動で cargo check などを走らせてくれるツール
    • cargo watch -x fmt -x clippy -x test みたいに複数のことを実行できるので便利。
  • cargo-edit Cargo.toml に依存を追加するときに便利なツール
    • Cargo.toml 開いて1行追加するだけなのにわざわざコマンド要る? と思っていたのですが、自動で最新バージョンを入れてくれるので便利。

Tier 2

  • cargo-expand マクロを展開してくれるツール
  • cargo-asm 指定した関数のアセンブリを表示してくれるツール
    • アセンブリを見ながら最適化したいときに便利。
  • cargo-valgrind valgrind上で cargo run してくれるツール
    • FFI周りなどメモリリークが起きやすいときには便利。
  • cargo-play Rustをスクリプト言語のように扱えるツール
    • 1行目に #!/usr/bin/env cargo-play と書いて実行権限付与しておくとスクリプト言語っぽく実行できる。
    • Rustでちょっとしたツールの作成をしたいときに便利。
  • git-delta 見やすいdiff
    • これに関しては他の言語を書くときも便利。
  • cargo-outdated 古いクレートを使っていないか確認してくれるツール
    • 自分で依存クレートのバージョンを逐一調べるのは面倒なので便利。

後書き

個人的に使っていて便利なツールを挙げました。ここに載っていないもので便利なツールがありましたらコメントで教えてもらえると幸いです。また公式非公式の分類が間違っていたら教えて下さい。(rust-analyzerって非公式で良いんだっけ?)

ChangeLog

  • 2021/10/1 リンクを追加
  • 2021/10/2 fix typo

Discussion

rust-analyzer は Mozilla もいちおう開発に加わっているのでオフィシャルだと思ってます。

ログインするとコメントできます