gpt4 book ai didi

flutter - 如何将命令行参数传递给 VS Code 中的 Web 调试 session

转载 作者:行者123 更新时间:2023-12-02 18:28:20 27 4
gpt4 key购买 nike

在 flutter/dart 中编程时,我需要将参数传递给 VS Code 中的调试 session 。我将以下数据添加到 launch.json 中,如 documentation 中所述.

{
"configurations": {
..
// Any custom environment variables to set when running the app with this
// launch config.
"env": {
"DEBUG_MODE": true
}

// Arguments to be passed to the Dart or Flutter app.
"args": [
"--dart-define",
"DEBUG_VALUE=true",
],
}

并尝试这样读取值:

void main(List<String> args) {
final debugMode = String.fromEnvironment('DEBUG_MODE');
final debugValue = String.fromEnvironment('DEBUG_VALUE');
...
}

但是变量是空的,args 列表也是空的。所以请告诉我我做错了什么?

最佳答案

在读取值时,您确定使用 const 吗?由于我不完全理解的原因,这似乎只有在值为 const 时才有效:

在我的 launch.json 中使用这个:

"toolArgs": [
"--dart-define",
"FOO=bar",
]

代码如下:

final foo1 = String.fromEnvironment('FOO');
final foo2 = const String.fromEnvironment('FOO');
print('FOO: "$foo1" "$foo2"');

输出是

flutter: FOO: "" "bar"

因此,如果在非常量上下文中调用 String.fromEnvironment,它似乎不会返回值。

编辑:实际上,在网络中,不使用 const 会导致异常。但是使用 const,它仍然可以按预期工作。

关于flutter - 如何将命令行参数传递给 VS Code 中的 Web 调试 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69797346/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com