Hello Rust!
VSCode 插件似乎这两个就足够了:
- Rust (rls)
- WinDbg Debugger extension
创建测试项目:
cargo new hello-rust --bin
创建并修改 launch.json 的 program,并添加 preLaunchTask,同时将 externalConsole 改为 false:
{
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/target/debug/hello-rust.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"preLaunchTask": "cargo build"
}
] }
按 F5 尝试调试,提示找不到 cargo build,创建配置,在下拉列表中选择 cargo build,将生成 tasks.json,添加 label 属性以和前面 launch.json 的 preLaunchTask 对应起来:
{
"version": "2.0.0",
"tasks": [
{
"type": "cargo",
"label": "cargo build",
"subcommand": "build",
"problemMatcher": [
"$rustc"
]
}
] }
重新按 F5 调试,尝试 F11 进入 println!,报错:
无法打开“mod.rs”: 找不到文件(file:///c:/rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/libcore/fmt/mod.rs)。
不知道这个路径是什么含义。。。尝试创建文件夹:
c:/rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/
并在该文件夹下,创建软链接指向实际的 Rust 源代码位置:
mklink /J src C:\Users\gang.yin\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src
遗留问题:
在 .rs 中对方法 F12,提示 No Definition found for …好像只是类似于 println! 这样的宏无法 F12,为啥?