跳至主要内容

在 VS Code 中调试

本指南将指导你设置 VS Code 以调试 Tauri 应用程序的核心进程

先决条件

安装 vscode-lldb 扩展。

配置 launch.json

创建一个 .vscode/launch.json 文件,并将以下 JSON 内容粘贴到其中

.vscode/launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Tauri Development Debug",
"cargo": {
"args": [
"build",
"--manifest-path=./src-tauri/Cargo.toml",
"--no-default-features"
]
},
// task for the `beforeDevCommand` if used, must be configured in `.vscode/tasks.json`
"preLaunchTask": "ui:dev"
},
{
"type": "lldb",
"request": "launch",
"name": "Tauri Production Debug",
"cargo": {
"args": ["build", "--release", "--manifest-path=./src-tauri/Cargo.toml"]
},
// task for the `beforeBuildCommand` if used, must be configured in `.vscode/tasks.json`
"preLaunchTask": "ui:build"
}
]
}

这直接使用 cargo 构建 Rust 应用程序,并以开发和生产模式加载它。

请注意,它不使用 Tauri CLI,因此不会执行独有的 CLI 功能。beforeDevCommandbeforeBuildCommand 脚本必须事先执行或在 preLaunchTask 字段中配置为任务。以下是示例 .vscode/tasks.json 文件,其中有两个任务,一个用于生成开发服务器的 beforeDevCommand,另一个用于 beforeBuildCommand

.vscode/tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "ui:dev",
"type": "shell",
// `dev` keeps running in the background
// ideally you should also configure a `problemMatcher`
// see https://vscode.js.cn/docs/editor/tasks#_can-a-background-task-be-used-as-a-prelaunchtask-in-launchjson
"isBackground": true,
// change this to your `beforeDevCommand`:
"command": "yarn",
"args": ["dev"]
},
{
"label": "ui:build",
"type": "shell",
// change this to your `beforeBuildCommand`:
"command": "yarn",
"args": ["build"]
}
]
}

现在,你可以在 src-tauri/src/main.rs 或任何其他 Rust 文件中设置断点,并按 F5 开始调试。