WindowsでRust開発環境を作ってみる(VSCode+BuildTools+rustup)

| 3 min read
Author: shuichi-takatsu shuichi-takatsuの画像

最近はRustが人気と聞き、”技術ミーハー”な筆者としてはRustの開発環境を構築してみたくなりました。
Rustはプログラムの実行が高速であり、C/C++が不得意であったメモリの安全性を確保するなどの特徴を持ち、C/C++に取って代わるプログラミング言語になりえるステータスを持っています。

今回はWindows10+VSCode+BuildTools+rustupでRustの開発環境を構築してみようと思います。
開発環境が構築できたら、RustをESP32(IoTデバイス)用のプログラミング言語にしてプログラムを作ってみたいと考えています。
環境構築の流れは基本的にここを参考にしました。

Microsoft C++ Build Tools をインストールする

#

BuildシステムとしてVisual Studioか C++ Build Toolsのどちらかをインストールする必要がありますが、筆者の環境にはVisual Studio Codeがインストールされているので、今回は C++ Build Tools をインストールします。

Microsoft C++ Build Tools をここからダウンロードして、インストーラーを実行します。

必要なワークロードは以下の3つです。

  • .NET デスクトップビルドツール
  • C++ によるデスクトップ開発
  • ユニバーサル Windows プラットフォームビルドツール

インストールにはかなり時間がかかりました。(15分程度)
インストールが完了すると以下のダイアログが表示されます。

インストーラーの表示が以下のようになればインストールは完了です。

rustup をインストールする

#

次に「rustup」をインストールします。
rustupはここからダウンロードします。
筆者のWindowsは64ビット版なので64ビット版のインストーラーをダウンロードします。

インストーラーを起動します。
コマンドウインドウが表示されます。
1番目(デフォルト)を選択します。

インストールが開始されます。

インストールが完了すると「Press the Enter Key to continue」と表示されますので、Enterキーを押してコマンドウインドウを閉じます。

VSCode拡張機能のインストール

#

今回使用するプラグインは以下の2つです。

  • rust-analyzer 拡張機能
  • CodeLLDB 拡張機能

Marketplaceで拡張機能を検索してインストールします。

ここまで出来たら、Rustのプログラムを作成する準備は整いました。

はじめてのRustプロジェクト作成

#

簡単なRustプロジェクトを作成してみます。
任意のフォルダに移動し、以下のコマンドをコマンドラインで実行します。

cargo new testproj

testprojというプロジェクトが作成されました。

上記で作成したフォルダ「testproj」をVSCodeで開きます。
「testproj」フォルダ配下に以下のようなフォルダとファイルが作成されていました。

VSCodeで src>main.rs ファイルを開きます。
Rustのソースコードが右側のペインに表示されます。

RSファイルを開くと以下のファイルやフォルダが作成されました。

  • Cargo.lock ファイル
  • target フォルダ

またプラグインの機能により、以下のように「Run」や「Debug」というボタンがコード上に表示されます。

Runボタンを押します。

プログラムが実行され、コマンドライン上に「Hello, World!」と表示されました。
実行されたプログラムは
target\debug\testproj.exe
のようです。

次にデバッグを実行してみます。
プログラム中の
println!("Hello, world!");
の部分にブレークポイントを設定し、Debugボタンを押します。

ブレークポイントを設定した行でプログラムが一時停止しました。
正常にデバッグできているようです。

まとめ

#

今回はWindows10にRustの開発環境を構築してみました。
本当はRust+ESP32(IoTデバイス)の開発環境を構築するところまで掲載したかったのですが、ESP-IDF(Espressif Systems社製ESP32向け公式開発環境)とRustの連携に苦戦していて、まだESP32側への設定が出来ていません。
(Arduino IDEではRust開発はできないようなので、別途ESP-IDFのインストールに挑戦しています)

ESP-IDF単体では以下のようにサンプルプログラム(C言語)のビルドとESP32デバイスへの書き込みも成功しています。

ESP32まわりの問題が片付いたら、次回の記事で報告したいと思います。

豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. 基本から理解するJWTとJWT認証の仕組み (2022-12-08)
  2. AWS認定資格を12個すべて取得したので勉強したことなどをまとめます (2022-12-12)
  3. Nuxt3入門(第4回) - Nuxtのルーティングを理解する (2022-10-09)
  4. Backstageで開発者ポータルサイトを構築する - 導入編 (2022-04-29)
  5. Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する (2022-10-28)
  6. Viteベースの高速テスティングフレームワークVitestを使ってみる (2022-12-28)
  7. ORマッパーのTypeORMをTypeScriptで使う (2022-07-27)
  8. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)
  9. GitHub Actions - 構成変数(環境変数)が外部設定できるようになったので用途を整理する (2023-01-16)
  10. Jest再入門 - 関数・モジュールモック編 (2022-07-03)