赞
踩
本文介绍了如何使用vscode编写rust,实现打印"Hello, world!"的程序。
Linux (或者windows+wsl)
请参考连接:Rust 程序设计语言 简体中文版-安装。
rust编译器安装完成后,会自动安装cargo。cargo是Rust的包管理器,可以用来方便的进行包管理、编译运行rust程序。
可以使用以下命令查看是否成功安装rust编译器和cargo。
shell rustc -V
shell cargo -V
安装rust-analyzer和CodeLLDB(用于debug)。
接下来将使用cargo进行管理我们的程序(尽管程序只打印“Hello, world!”一句话)。
hello_world
工程cargo new hello_world
此时目录下自动生成一个名字为hello_world/
的文件夹。
使用vscode打开hello_world/
文件夹,文件结构如下。
编辑main.rs
文件,main.rs
文件如下:
fn main() {
println!("Hello, world!");
}
编译我们的hello_world
工程。在hello_world/
目录下运行以下命令。
cargo build
输出结果如下所示:
编译器的输出表示程序hello_world
已经编译成功,耗时0.30s。
使用以下命令运行程序。
cargo run
若运行成功,运行结果如下:
可以看到程序成功输出了Hello, world!
字符。
在vscode中对rust程序进行debug需要安装前面提到的CodeLLDB
插件。首先在vscode的设置中设置Debug: Allow Breakpoints Everywhere
。如下所示:
将main.rs
文件内的代码修改为如下:
fn main() {
let _a = 3.0;
let _b = _a * _a;
println!("_b:{}", _b);
}
假设我们在第4行处打断点,如下图所示:
然后使用LLDB生成launch.json
文件。按下ctrl+shift+p
,打开vscode的命令输出栏目,输入 LLDB: Generate launch Configurations from Cargo.toml
如下图所示:
按下回车后LLDB会根据Cargo.toml
文件自动生成launch.json
文件内容,此时文件名还是Untitled-1
。我们需要将改文件保存到.vscode/
目录下,并命名为launch.json
(如果没有.vscode/
文件夹,先手动在hello_world/
目录下创建.vscode/
文件夹)。LLDB自动生成的launch.json
文件内容如下:
{ "version": "0.2.0", "configurations": [ { "type": "lldb", "request": "launch", "name": "Debug executable 'hello_world'", "cargo": { "args": [ "build", "--bin=hello_world", "--package=hello_world" ], "filter": { "name": "hello_world", "kind": "bin" } }, "args": [], "cwd": "${workspaceFolder}" }, { "type": "lldb", "request": "launch", "name": "Debug unit tests in executable 'hello_world'", "cargo": { "args": [ "test", "--no-run", "--bin=hello_world", "--package=hello_world" ], "filter": { "name": "hello_world", "kind": "bin" } }, "args": [], "cwd": "${workspaceFolder}" } ] }
现在hello_world/
目录下的文件结构如下:
之后点击vscode的状态栏的Debug excutabel 'hello_world' (hello_world)
图标,并选择Debug executable 'hello_world'
即可进行debug。
即下图红框中的图标:
可以看到程序成功运行到我们的断点处,并在左侧窗口中显示了中间变量的值。如下图所示:
[1]. Rust in Visual Studio Code
[2]. Hello, Cargo!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。