Rust+VSCode从build到debug原创配置

前言

搞了整整一天的rust+vscode的开发环境,因为rust太新了,再加上Windows用户往往只是开发者中的小众,所以完整的、高质量的环境配置的教程、博客少的可怜,而完整的从编译到调试的配置教程几乎没有,所以我配置好的.vscode算是纯原创配置了,所以在这里分享一下,大家也可以少走一点弯路。

前期准备

网上教程还是有一些的,这里只讲一下要注意的细节

  • rust安装: 按照官网的安装教程来就可以,Windows上默认安装的是MSVC ABI的版本(你电脑上有VS就可以正常安装,没有的话它会让你下载一个VC++的软件包),当然你也可以装GNU ABI版本,这决定了后面的debug用的是MSVC还是GDB。本文只介绍MSVC版本的配置。
  • 工具安装: racer需要手动安装,前面还需要装个rust的源码。具体步骤参考此文只要看下载rust源码racer部分就好。剩下的部分在vscode里装插件的时候会提示你安装。

VSCode配置

vscode插件安装

  • 要进行debug,需要安装微软自家的插件C/C++Native Debug插件。用VSCode写过c或c++的人应该都装了这两个插件。

  • 先安装Rust(rls)再安装Rusty Code,过程中提示你装的工具都点确定就会帮你自动装好。然后C:\Users\<username>\.rustup\toolchains里应该就会有两个版本的工具链,stablenightly。这些步骤完成后用VSCode写Rust,已经具备了代码补全、智能提示等基础功能了,另外在vscode里ctrl+shift+p再输入cargo可以看到vscode里已经有了cargo的命令及一些常用命令的快捷键。

可视化debug

为了在debug的时候可以可视化,即可以在VSCode的调试区查看变量的值和堆栈调用情况等,需要把~\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\etc里的文件全部复制粘贴到~\.vscode\extensions\ms-vscode.cpptools-0.11.2\debugAdapters\vsdbg\bin\Visualizers

.vscode配置

开一个文件夹,以后都在这个文件夹下用Cargo新建项目。用VSCode打开新建的文件夹,点小蜘蛛再点调试那一栏的小齿轮,添加launch.json配置文件,内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"preLaunchTask": "cargo build",
"environment": [],
"externalConsole": true
}
]
}

再点菜单栏的任务->配置任务->使用模板创建tasks.json文件,配置内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "cargo build",
"command": "cargo",
"args": [
"build"
],
"problemMatcher": [
"$rustc"
]
}
]
}

具体使用

然后就和写c\c++一样了,你写完rust代码,在行号左侧设置断点,点调试区的绿色开始键,就会自动帮你cargo build然后运行程序开始调试。

成品
Enjoy Rust!

参考

  1. https://code.visualstudio.com/docs/editor/variables-reference
  2. https://www.brycevandyk.com/debug-rust-on-windows-with-visual-studio-code-and-the-msvc-debugger/