一、简介
本文介绍了如何使用vscode编写rust,实现打印"Hello, world!"的程序。
二、工具安装
0. 环境介绍:
Linux (或者windows+wsl)
1. 安装rust编译器rustc和包管理器cargo。
请参考连接:Rust 程序设计语言 简体中文版-安装。
rust编译器安装完成后,会自动安装cargo。cargo是Rust的包管理器,可以用来方便的进行包管理、编译运行rust程序。
可以使用以下命令查看是否成功安装rust编译器和cargo。
shell rustc -V
shell cargo -V
2. vscode插件安装:
安装rust-analyzer和CodeLLDB(用于debug)。
三、实现helloworld
接下来将使用cargo进行管理我们的程序(尽管程序只打印“Hello, world!”一句话)。
1. 新建hello_world
工程
cargo new hello_world
此时目录下自动生成一个名字为hello_world/
的文件夹。
2. 使用vscode打开工程目录文件夹
使用vscode打开hello_world/
文件夹,文件结构如下。
3. 编写main.rs文件
编辑main.rs
文件,main.rs
文件如下:
fn main() {
println!("Hello, world!");
}
4. 编译程序
编译我们的hello_world
工程。在hello_world/
目录下运行以下命令。
cargo build
输出结果如下所示:
编译器的输出表示程序hello_world
已经编译成功,耗时0.30s。
5. 运行程序
使用以下命令运行程序。
cargo run
若运行成功,运行结果如下:
可以看到程序成功输出了Hello, world!
字符。
6. 进行debug
在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!