Aller au contenu

Débogage dans VS Code

Ce guide explique comment configurer VS Code pour déboguer le processus central de votre app Tauri.

Toutes les plateformes avec l’extension vscode-lldb

Section intitulée « Toutes les plateformes avec l’extension vscode-lldb »

Installez l’extension vscode-lldb.

Créez un fichier .vscode/launch.json et collez-y le contenu JSON suivant :

.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 est directement utilisé pour compiler l’application Rust et la charger à la fois en mode développement et en mode production.

Notez que puisque la CLI Tauri n’est pas utilisée, les fonctionnalitées exclusives à la CLI ne seront pas exécutées. Les scripts beforeDevCommand et beforeBuildCommand doivent être exécutés préalablement ou configurés comme tâche dans le champ preLaunchTask. Vous trouverez ci-dessous un exemple de fichier .vscode/tasks.json qui contient deux tâches : une pour beforeDevCommand qui crée un serveur de développement et une pour 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://code.visualstudio.com/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"]
}
]
}

Vous pouvez maintenant définir des points d’arrêt dans src-tauri/src/main.rs ou dans n’importe quel autre fichier Rust, puis démarrer le débogage en appuyant sur F5.

Le débogeur de Visual Studio pour Windows est un débogeur uniquement disponible pour Windows, il est généralement plus rapide que vscode-lldb et offre une meilleur prise en charge de certaines fonctionnalités de Rust comme les énumérations.

Installez l’extension C/C++ et suivez le guide https://code.visualstudio.com/docs/cpp/config-msvc#_prerequisites pour installer le débuggeur Visual Studio pour Windows.

.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": [
{
"name": "Launch App Debug",
"type": "cppvsdbg",
"request": "launch",
// change the exe name to your actual exe name
// (to debug release builds, change `target/debug` to `release/debug`)
"program": "${workspaceRoot}/src-tauri/target/debug/your-app-name-here.exe",
"cwd": "${workspaceRoot}",
"preLaunchTask": "ui:dev"
}
]
}

Notez que puisque la CLI Tauri n’est pas utilisée, les fonctionnalitées exclusives à la CLI ne seront pas exécutées. Le fichier tasks.json est le même que pour lldb mais vous devez y ajouter un groupe de configuration et sélectionner votre preLaunchTask depuis launch.json si vous voulez toujours compiler avant le lancement.

Voici un exemple montrant comment exécuter un serveur de développement (équivalent à beforeDevCommand) et la compilation (cargo build) au sein d’un même groupe de tâches.. Pour l’utiliser, changez la configuration de preLaunchTask dans launch.json pour dev (ou le nom que vous avez donné à votre groupe).

.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": "build:debug",
"type": "cargo",
"command": "build",
"options": {
"cwd": "${workspaceRoot}/src-tauri"
}
},
{
"label": "ui:dev",
"type": "shell",
// `dev` keeps running in the background
// ideally you should also configure a `problemMatcher`
// see https://code.visualstudio.com/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": "dev",
"dependsOn": ["build:debug", "ui:dev"],
"group": {
"kind": "build"
}
}
]
}

© 2026 Tauri Contributors. CC-BY / MIT