Rust の開発環境を構築する(Visual Studio Code)

最近 Rust の環境を再構築したので、そのメモ。 とりあえず、Visual Studio Code(以下、VSCode) を使用して

  • コード補完
  • 定義元への移動
  • シンボルへの移動
  • ソースの自動フォーマット
  • デバッグ

ができるようになった。 (OS は macOS Sierra で、XCode のバージョンは 8.1)

以下、構築手順。

Rust をインストール

まずは、Rust のツールチェーンマネージャーの、rustup をインストール。 下記のコマンドを実行し、インストールする。

$ curl https://sh.rustup.rs -sSf | sh

インストール後は、PATHに以下を追加。

$HOME/.cargo/bin

次に適当なプロジェクトを作成し、下記のコマンドを実行し、rust の nightly version を使用するように設定する。

$ rustup override set nightly

後述する racer で Rust のソースを参照するため、インストールした Rust のソースをダウンロードする。

$ rustup component add rust-src

上記のコマンドを実行すると、

`rustc --print sysroot`/lib/rustlib/src/rust/src 

のディレクトリにソースがダウンロードされる。

次に、以下のツールをインストールする。 それぞれ、補完、フォーマット、シンボルへの移動で使用する。

$ cargo install racer
$ cargo install rustfmt
$ cargo install rustsym

VSCode の設定

以下のプラグインをインストールした。 * Rusty Code * LLDB Debugger

Rusty Code の設定

.vscode/setting.json に以下を記述する。

{
    "rust.rustLangSrcPath": “<Rust のソースコードの場所>”,
    "rust.formatOnSave": true,
    "rust.checkOnSave": true,
    "rust.checkWith": "build"
}

また、保存した際に自動で ```rustfmt``` で整形して欲しいので、``` rust.formatOnSave``` を true にした。
また、保存時には、ビルドもしたいので、```rust.checkOnSave``` と ``` rust.checkWith``` の設定もした。

シンボルへの移動は、macOS の場合、```cmd + shift + O``` で移動できる。

### LLDB Debugger の設定
次にデバッグ環境を構築する。
.vscode/launch.json に以下を記述する。

{ “version”: “0.2.0”, “configurations”: [ { “name”: “Debug”, “type”: “lldb”, “request”: “launch”, “sourceLanguages”: [“rust”], “program”: “${workspaceRoot}/target/debug/”, “args”: [] } ] } ``` program の属性の 部分にはコンパイルしたものの名前を指定する。 注意点としては、sourceLanguages の属性を追加し、Rust を指定する。

デバッガを開始するためには、デバッグの画面を表示し、F5 を押すとデバッグを開始する。あとは、F9 でブレイクポイントを設定できたり、F10 でステップオーバーなどが実行できたりするので、デバッグ出来るようになる。

実際にデバッガを起動すると以下のようになる。watch なんかも普通に使えるし、変数をマウスオーバーすると内容が確認できたりする。

debug-vscode

感想

VSCode なかなか良い。 特に、Rust のデバッグ環境は他の環境よりもいいような気がする。 他の環境だと、上手く動かなかったりしたので。。。 LLDB が Rust に対応したのが大きいのかも。

Contents

comments powered by Disqus