【问题标题】:How to debug flutter build_runner build in VS Code?如何在 VS Code 中调试颤振 build_runner 构建?
【发布时间】:2021-12-02 14:41:38
【问题描述】:

问题陈述:

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

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

问题:

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

类似问题:

How run flutter 'packages pub run build_runner build' with debug mode in intellij idea?

【问题讨论】:

    标签: flutter dart build code-generation build-runner


    【解决方案1】:

    自从我找到How run flutter 'packages pub run build_runner build' with debug mode in intellij idea? 后,我想知道这在 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 Codelaunch.json

    创建一个launch.json

    launch.json 文件在 VS Code 中配置启动配置。要创建launch.json,请选择右侧的调试符号并创建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 其中buildbuild_runner 的参数。

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

    name:这是配置的名称。

    别忘了切换到正确的配置

    【讨论】:

    • 我的要求略有不同。我的调试器进入.dart_tool/build/entrypoint/build.dart 文件,我的断点在那里工作。但是,如何在我编写的实际代码生成器中获得断点?
    • 没有。我还没想出如何让它工作..如果你弄明白了,请告诉我!
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 2019-02-10
    • 2022-06-30
    • 2020-02-25
    • 2020-09-23
    • 1970-01-01
    • 2021-05-12
    • 2019-10-10
    相关资源
    最近更新 更多