見出し画像

WindowsのVS Codeに最低限のRust開発環境を構築して「Hello World」!

Rustを触ってみたくなりまして、VS Codeで開発出来る事はわかったのですが、色々なサイトが色々な設定を展開していて「えっと、結局何が必須なのか良く分からん…」状態に…。ほら、プログラムって開発環境の構築に手間取るとモチベーションがだだ下がりするじゃないですか…。最初は兎に角ささっと始めたい。なので、Windows+VS Codeで必須項目だけに絞った最低限のRust開発環境を作る手順を示してみました。間違っていたらご指摘下さい。

※VS Codeインストール済み前提です。

rustupをインストール

Windows環境にRustをインストールするには、https://rustup.rs/ からrustup_init.exeというインストーラーをDLします。実行するとシェルが起動します。

画像1

デフォルトかカスタマイズかを問われます。最初なので、1のデフォルトにしておきましょう。後は最後まで進行するのを見届けるだけです。

これだけでRustを使う環境が実は整います。PowerShellを起動して

rustup --version

と打ち込むとバージョン情報が出力されるはずです。環境変数等がちゃんと整っている証拠です(^-^)

rustupというのはRustを開発する時に必要なツールなどをダウンロードしたりバージョンアップしたり各ツールの整合性を合わせてくれる管理人です。Rustのコードをビルドして実行ファイルを作るのは「cargo」という別の人になります。

VS Codeの設定

では続いてVS Codeを立ち上げます。まだRustに関する物が何も入っていない前提です。

左にあるアイコン列から「Extentions」を選びます。一番下にあるブロックみたいなやつです:

画像2

Rust用にVS Codeを拡張したいのでこれを選んでいます。検索欄に「Rust」と入れるとRustパッケージがヒットしますので、Installボタンを押してインストールしましょう。

画像12

RustパッケージはVS Code上でRustをビルドする手助けをしてくれます。これを入れるとrustのコードをShift+Ctrl+Bでビルドする時に「Rust: cargo build」という選択肢が出現するようになります。それを選択すればビルドが走る!というわけです。

実は、これでVS Code上でRustを使う最低限の環境設定は終了です。超簡単。ただ勿論最低限なので、色々不便はあります。それを便利にしようとしているのが、他サイト様の導入説明なんですね。

Hello Worldしてみましょう

ではこの最低環境でお決まりのHello Worldしてみましょう。

(2020.8.29 16:20追記)
------
以下よりももっともっと簡単にRustのプロジェクト環境を作る方法を教えて頂きました。ご教授ありがとうございます。それについては下に追記した「cargo newでプロジェクトを作る」をご覧下さい。ただ一度もRustコードをビルドした事が無い方は、ファイル構成等を知るために以下を一応通してみる事をお勧めします。
-------

まず開発用の空フォルダを適当な場所に作ります。ここではHelloWorldという名前にしておきます。VS CodeのFileメニューにある「Open Folder」でそれを指定すると、VS Codeに空の開発環境がセットアップされます。EXPLORERに「HELLOWORLD」がありますよね:

画像3

次にこのフォルダの下に「src」というRustのコードを入れるフォルダを追加します。

画像4

このアイコンで追加ですよ(^-^)。これは必須では無いのですが、HelloWorldフォルダ下にはこの後環境関連のファイルやフォルダが出来てしまうので、分けた方がきっと良いです。

srcフォルダを追加したら、そこに「main.rs」という空テキストファイルを追加します。

画像5

srcフォルダを選択して上のアイコンで追加しましょう。ちなみに、ファイル名はmain.rsでないと後々でコンパイラに怒られるのでそうしておきます。

これでmain.rsにRustのコードを書く事が出来ます。以下のコードを記述して下さい:

fn main() {
   println!("Hello World!");
}

標準出力に「Hello World!」という文字を出力するコードです。

記述したら、このコードをビルドするためShift+Ctrl+Bを押しましょう。あっ、先に言っておきます。このビルドは失敗します。失敗理由がとても大切でして、これでRustの開発で必須な物が分るので、あえて一度この鋲を踏んで頂きたく思います。先のビルドショートカットを押すと、

画像6

ビルドタスク(ビルドする手順)を選択する項目が出ると思います。出ている「Rust: cargo build - HelloWorld」というのが正にそれなので選択しましょう(checkの方では無いのでご注意)。すると…

画像7

上のようなエラーが出るはずです。「could not find Cargo.toml in ... HelloWorld」つまり「Cargo.tomlというファイルがHelloWorldフォルダに見当たらないよ」というエラーです。このCargo.tomlというファイルがRustのプログラムビルドには必須なんです!

Cargo.tomlというのはRustのコードをビルドする時の情報ファイルです。考えてみたら、実行ファイル(.exe)を作るにしても、何という名前の実行ファイルで出力するのか、どこにも指定していないですよね。そういうのを指定するのがCargo.tomlです(他にも様々な項目を設定出来ます)。

エラーが指定するHello Worldフォルダ直下に必須であるCargo.tomlファイルを空で追加し、

[package]

とだけ入力しておきます。で、再度ビルドすると…

画像8

「missing field 'name' for key 'package'(packageの中にnameフィールドが無いよ)」と怒られます。こんな感じでコンパイラが優しく教えてくれるのですからありがたいもんです(なので鋲を踏んで欲しかったと)。

このnameがパッケージ(実行ファイル)の名前になります。適当な名前を付けましょう:

[package]
name = "hello_world"

これでビルドすると、もう1回だけエラーが出ます:

画像9

「missing field 'version' for key 'package'(packageの中にversionフィールドが無いよ)」。name以外にversionも必須な事がわかりました。versionは3つに区切った番号で指定します:

[package]
name = "hello_world"
version = "0.0.1"

これで再再度ビルドすると、

画像10

目に優しい緑のカラーでビルド成功を告げてくれました!先程入れたversionもちゃんと出ていますよね。そう、ここまでがRustのコードをビルドする最低必要条件というわけです。

そして、Hello Worldフォルダの下に「target」というフォルダと「Cargo.lock」というファイルが自動生成されました。targetフォルダは生成物をまとめてくれています。Cargo.lockは生成に必要な情報をまとめたファイルで、基本触らずにOKです。targetフォルダにあるdebugフォルダ下を見てみると…ありますhello_world.exe!実行ファイルがちゃんとできていました。コマンドラインからこれを起動してみると、

画像11

出てますね~「Hello World!」。

という事で、VS CodeでRustの最低限の開発環境を整えて、Hello Worldするのに必要な最低限の条件を満たしてみました。後は開発を楽にする拡張パッケージを追加するなりすれば、開発がより楽しくなります。この記事が皆様の一助になれば幸いです。ではまた(^-^)/

追記:cargo newでプロジェクトを作る

上記の方法はRustのプロジェクト環境を手作業で作っていますが、cargo newというコマンドを使うと、ビルド可能な最低限のプロジェクト環境を自動生成してくれます。

PowerShellを起動したら、プロジェクトフォルダを作りたいフォルダに移動して、

cargo new HelloWorld2

のようにcargo new <プロジェクト名>とコマンド入力します。すると、HelloWorld2フォルダ下にCargo.toml、srcフォルダとmain.rs、さらにHello World!を出力するコードまで全部作成してくれます!便利(^-^)

Cargo.tomlは上の最低限な物よりも詳細な情報が記述されます:

[package]
name = "HelloWorld2"
version = "0.1.0"
authors = ["*******"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

上では伏せていますが著者の名前とメールアドレス(authors)、そしてRustのエディション(edition)が追加されていますね。

勿論このHelloWorld2フォルダをVS Codeでオープンしてビルドすると成功します。Rust開発に慣れてきたら俄然こっちの方が楽ですね(^-^)

この記事が気に入ったらサポートをしてみませんか?