2019/08/09

[win10]Rust環境をインストールしたい

なんだか、周囲でRustの話をしている人がいた。
名前は知っているが、よくわからん。
まずい・・・。

というわけで、Windows10でRustの開発環境をインストールしたい。


ここで悩むのが、WSLでやるかどうかだ。
WSLだとコマンドのところで悩まずに済むし、LinuxやMacなどとも話がしやすい。
しかし、Windowsのネイティブ環境にインストールするとその恩恵を受けやすいだろう。

 

悩んだときは、WSLだ。
親切なことに、インストールのページにWSLでのやり方も書かれていた。

curl https://sh.rustup.rs -sSf | sh

meteorなんかもこんなインストール方法だったな。

$ cargo --version
cargo 1.36.0 (c4fcfb725 2019-05-15)

 

Hello Worldはコマンドだけでやれるようだ。

$ cargo new hello_cargo
     Created binary (application) `hello_cargo` package
$ cd hello_cargo
/hello_cargo$ cargo run
   Compiling hello_cargo v0.1.0 (hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 4.12s
      Running `target/debug/hello_cargo`
Hello, world!

 

とりあえず、環境だけはできた。


で、学習するからにはデバッグ環境がほしい。
しかし、私はgdbが苦手だ。。。覚えられない。。。

こういうときはVisual Studio Codeだろう。
拡張機能もあるし、WSLを使うかどうかという設定もある。

image

あるのだが、RSファイルを開くと「Rust Language Serverがない」「Rustup not available」などといわれてしまう。
rust-client.rlsPathで設定してみたが、それはそれでダメだった。
"Use WSL"は、一体何をしてくれるのだろうか?

 

・・・Use WSLのサポートは打ち切られて、代わりにRemote -WSLを使うようになったらしい。

https://github.com/rust-lang/rls-vscode/issues/585#issuecomment-507037318


ということは、どうなるかというと。。。

  • ExtensionのRemote-WSLをインストールする
  • Rust(RLS)もインストールする

どうも、Remote-WSLはディストリビューションを選択するらしい。
私はこうなった。

image

これを有効にすると、各ExtensionもWSL用にインストールするかどうかのボタンがそれぞれに出てきた。
取りあえず、C/C++のデバッガやRLSなどはインストールしておいた。
RSLの設定は、デフォルトのままでよさそうだ。

そしてvscodeを立ち上げ直すと、まずRemote-WSLが立ち上がるようで、今までより少し時間がかかった。
そしてmain.rsファイルを開くと、RLSが立ち上がってくれたようだ。

image

 

と、すんなり動いたように書いているが、ここに至るまでにかなりあれこれやったので、もしかしたら他に設定がいるかもしれん。


元々は、デバッグがやりたかったのだ。

01: {
02:     // Use IntelliSense to learn about possible attributes.
03:     // Hover to view descriptions of existing attributes.
04:     // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
05:     "version": "0.2.0",
06:     "configurations": [
07:         {
08:             "name": "(gdb) Launch",
09:             "type": "cppdbg",
10:             "request": "launch",
11:             "program": "${workspaceFolder}/target/debug/hello_cargo",
12:             "args": [],
13:             "stopAtEntry": false,
14:             "cwd": "${workspaceFolder}",
15:             "environment": [],
16:             "externalConsole": false,
17:             "MIMode": "gdb",
18:             "setupCommands": [
19:                 {
20:                     "description": "Enable pretty-printing for gdb",
21:                     "text": "-enable-pretty-printing",
22:                     "ignoreFailures": true
23:                 }
24:             ]
25:         }
26:     ]
27: }
  

こんな感じのlaunch.jsonを作ってprintln()のところにブレークポイントを設定すると、デバッガを起動させて止まってくれたように思う。

よくわかってないが、"debug.allowBreakpointsEverywhereをtrueにしないとブレークポイントが設定できなかった。
まあ、今回はこれで良かろう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。