なんだか、周囲で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を使うかどうかという設定もある。
あるのだが、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はディストリビューションを選択するらしい。
私はこうなった。
これを有効にすると、各ExtensionもWSL用にインストールするかどうかのボタンがそれぞれに出てきた。
取りあえず、C/C++のデバッガやRLSなどはインストールしておいた。
RSLの設定は、デフォルトのままでよさそうだ。
そしてvscodeを立ち上げ直すと、まずRemote-WSLが立ち上がるようで、今までより少し時間がかかった。
そしてmain.rsファイルを開くと、RLSが立ち上がってくれたようだ。
と、すんなり動いたように書いているが、ここに至るまでにかなりあれこれやったので、もしかしたら他に設定がいるかもしれん。
元々は、デバッグがやりたかったのだ。
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 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。