なんだか、周囲で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 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。