如何在 VS Code 中调试 flutter build_runner 构建?

How to debug flutter build_runner build in VS Code?

问题陈述:

我正在使用 build_runner 包构建代码生成器。

我 运行 flutter pub run build_runner build 来执行我的代码生成器。

问题:

如何使用断点调试 flutter pub run build_runner build

类似问题:

自从我发现 之后,我想知道它在 VS Code 中是如何工作的。此外,我不喜欢复制构建文件的解决方案。这就是我让它工作的方式。

正在生成脚本:

首先要做的是执行flutter pub run build_runner build,以便生成.dart_tool文件夹中的文件。我的应用名为 meal_app

代码生成器脚本位于 .dart_tool/build/entrypoint/build.dart

运行 脚本:

脚本可以是 运行 和 dart .dart_tool/build/entrypoint/build.dart build 但这只是执行,而不是调试脚本。为了方便调试,VS Code launch.json 需要调整。

创建 launch.json

launch.json 文件配置 VS Code 中的启动配置。创建launch.json select右边的调试符号,并创建launch.json文件。

为 build_runner

创建启动配置
{
    "version": "0.2.0",
    "configurations": [
        {
            // Config 1
        },
        {
            // Config 2
        },
        {
            "name": "Debug Widgetbook Generator",
            "cwd": "example/meal_app",
            "request": "launch",
            "program": ".dart_tool/build/entrypoint/build.dart",
            "type": "dart",
            "args": ["build"]
        }        
    ]
}

cwd: [可能不需要] build_runner 正在为其生成文件的应用名为 meal_appmeal_app 位于名为 example 的子文件夹中。这就是为什么在配置中设置 cwd 属性 的原因。如果您的应用不在子文件夹中,您可以省略此选项。

args: 设置为“构建”。这类似于命令 flutter pub run build_runner build 其中 build 是 [=22= 的参数].

program: 由于代码生成器文件位于上述结构中,因此配置需要知道执行哪个文件。

name:这是配置的名称。

别忘了切换到正确的配置