{
    // 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": [
        {
            // This task builds the Rust and Dart code of AppFlowy.
            "name": "AF: Build All",
            "request": "launch",
            "program": "./lib/main.dart",
            "type": "dart",
            "preLaunchTask": "AF: build_flowy_sdk",
            "env": {
                "RUST_LOG": "info"
            },
            "cwd": "${workspaceRoot}/app_flowy"
        },
        {
            "name": "AF: Debug Rust",
            "request": "attach",
            "type": "lldb",
            "pid": "${command:pickMyProcess}"
        },
        {
            //  This task only builds the Dart code of AppFlowy.
            "name": "AF: Build Dart Only",
            "request": "launch",
            "program": "./lib/main.dart",
            "type": "dart",
            "env": {
                "RUST_LOG": "debug"
            },
            "cwd": "${workspaceRoot}/app_flowy"
        },
        {
            // This task builds will:
            // - call the clean task,
            // - rebuild all the generated Files (including freeze and language files)
            // - rebuild the the Rust and Dart code of AppFlowy.
            "name": "AF: Clean + Rebuild All",
            "request": "launch",
            "program": "./lib/main.dart",
            "type": "dart",
            "preLaunchTask": "AF: Clean + Rebuild All",
            "env": {
                "RUST_LOG": "info"
            },
            "cwd": "${workspaceRoot}/app_flowy"
        },
        {
            "name": "AF: Build All (rustlog: trace)",
            "request": "launch",
            "program": "./lib/main.dart",
            "type": "dart",
            "preLaunchTask": "AF: build_flowy_sdk",
            "env": {
                "RUST_LOG": "trace"
            },
            "cwd": "${workspaceRoot}/app_flowy"
        },
        {
            "name": "AF: app_flowy (profile mode)",
            "request": "launch",
            "program": "./lib/main.dart",
            "type": "dart",
            "flutterMode": "profile",
            "cwd": "${workspaceRoot}/app_flowy"
        },
    ]
}