2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-02-20

はじめに

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のシンタックス・ハイライト、コード補完など基本的なところを補ってくれるプラグインをインストールします。
画面右側の通り、シンタックス・ハイライトが有効になっています。
VSCode-rls-plugin.png

(b) toml

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

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

[Terminal] --> [Configure Tasks...] --> [Create tasks.json file from template] --> [Others] により、テンプレートから tasks.json を生成します(図は [Create tasks.json file from template] を選ぶところ)。
VSCode-generate-tasks.json.png
プロジェクトのフォルダツリー上、.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!となれば、無事実行完了です!
スクリーンショット_2020-02-20_20-53-12.png

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

=== END ===

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?