VSCode+Rust(+Cargo)でHelloWorldを動かすまで


はじめに

VSCode+GradleでRustを「とりあえず」動かすにはどうしたらいいのかメモ的に書きます。
今回は主に先人の知恵として下記拝見して、試行錯誤で組み立てた結果です。先人の皆さま、いつもありがとうございます。

@udayan28さま
Rustの環境構築 with VSCode - Qiita

0. 環境

利用したツールと実行環境は以下のとおりです。Cargo

  • Linux Mint 19.3
  • Rust 1.41.0 (5e1a79984 2020-01-27)
  • Cargo 1.41.0 (626f0f40e 2019-12-03)
  • VSCode(code) 1.42.1

なお、タイトルの手順にフォーカスするため、個々のツールのインストールについては割愛します。

Rustのインストール手順は以下を参照ください。
The Rust Programming Language - Installation

1. CargoでHelloを動かしてみる

(1) まずCargoを使わずにHelloする

まず、Cargoすら使わずにHelloを表示することを試しておきます(Rustの動作確認のようなものです)。
ここは本家サイトの手順をリンク掲載します。本家サイトの方が常に最新となるからです。

Writing and Running a Rust Program

(2) CargoでのHello

以下のようにしてCargoでプロジェクトを作成し、実行してみます。

ximia@thinkpad:~/dev/rust/projects$ cargo new hello_cargo
     Created binary (application) `hello_cargo` package

ximia@thinkpad:~/dev/rust/projects$ ls
hello_cargo  hello_world

ximia@thinkpad:~/dev/rust/projects$ ls -R hello_cargo/
hello_cargo/:
Cargo.toml  src

hello_cargo/src:
main.rs

ximia@thinkpad:~/dev/rust/projects$ cd hello_cargo/

ximia@thinkpad:~/dev/rust/projects/hello_cargo$ cargo build
    Compiling hello_cargo v0.1.0 (/home/ximia/dev/rust/projects/hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 0.22s

ximia@thinkpad:~/dev/rust/projects/hello_cargo$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
     Running `target/debug/hello_cargo`
Hello, world!

ximia@thinkpad:~/dev/rust/projects/hello_cargo$ 

2. VSCodeにCargoプロジェクトを取り込む

(1) hello_cargoフォルダを取り込む

[File] --> [Add Folder to Workspace] でCargo.tomlを格納しているフォルダをVSCodeのWorkspaceに取り込みます。

(2) Rust/Toml用のプラグインを入れる

以下のように2つのプラグインをインストールします。

(a) Rusl (rls)

Rustのシンタックス・ハイライト、コード補完など基本的なところを補ってくれるプラグインをインストールします。
画面右側の通り、シンタックス・ハイライトが有効になっています。

(b) toml

Cargo.tomlでTOMLをハイライトしてくれるプラグインです。
こちらも画面右側の通り、シンタックス・ハイライトが有効になっています。

(3) tasks.jsonを生成、書き換える

[Terminal] --> [Configure Tasks...] --> [Create tasks.json file from template] --> [Others] により、テンプレートから tasks.json を生成します(図は [Create tasks.json file from template] を選ぶところ)。

プロジェクトのフォルダツリー上、.vscodeの下に tasks.json ができますので、以下の内容でまるっと置き換えます。

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cargo",
            "subcommand": "build",
            "problemMatcher": [
                "$rustc"
            ],
            "group": "build"
        },
        {
            "type": "cargo",
            "subcommand": "run",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

3. 実行

試しに "Hello, world!" を "Hello, Rust!" と変更・保存して、[Teminal] --> [Run Build Task...] と選択します。
以下のように、Compiling... Hello, Rust!となれば、無事実行完了です!

他のtaskもtasks.jsonに同様に追加していくことでさらに開発しやすくなると思います。

=== END ===