mzumi's blog

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

December 15, 2016

最近 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 の設定

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

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

rust.rustLangSrcPathは使用している Rust のソースの場所を指定する。これは、rustup component add rust-src でダウンロードしたパスを指定する。これを設定することにより、F12 キーで定義元にジャンプできるようになる。

また、保存した際に自動で rustfmt で整形して欲しいので、rust.formatOnSave を true にした。
また、保存時には、ビルドもしたいので、rust.checkOnSaverust.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/<your program>”,
            "args": []
        }
    ]
}

program の属性の 部分にはコンパイルしたものの名前を指定する。 注意点としては、sourceLanguages の属性を追加し、Rust を指定する。

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

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

debug-vscode

感想

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