作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 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/
我是一名优秀的程序员,十分优秀!