Emb*_*eer 5 visual-studio-code vscode-tasks
我试图在 VSCode 的tasks.json 中定义我自己的环境变量。根据到目前为止我找到的每个链接,我尝试了以下操作:
{
"version": "2.0.0",
"type": "shell",
"options": {
"env": {
"APP_NAME": "myApp"
}
},
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "dedicated",
"showReuseMessage": false
},
"tasks": [
{
"label": "Build Release",
"command": "python ./scripts/build_app.py $APP_NAME",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
我需要这个,因为我们正在通过 python 脚本运行构建过程,因此我需要给它我想要构建的应用程序的名称。由于我还有用于测试、执行、调试等的 python 脚本,因此我更愿意在tasks.json 中仅更改应用程序名称一次,而不是在每个任务本身中更改应用程序名称。
根据指南,这应该可以按照我的方式进行,但在 powershell 控制台中, $APP_NAME 变量未被替换。而且在 cmd 和 bash shell 中它似乎都不起作用。
如果有人能给我任何帮助,我将非常感激。
在tasks.json 中设置的环境变量不会被${env:..}in拾取tasks.json,当作为参数提供给 shell 时也不会被替换。不过,您可以在 中添加自定义设置settings.json,并在tasks.jsonusing中引用这些设置${config:...}。
例如
settings.json:
{
"APP_NAME": "myApp",
}
Run Code Online (Sandbox Code Playgroud)
tasks.json:
{
"version": "2.0.0",
"type": "shell",
"options": {
"env": {
"APP_NAME": "${config:APP_NAME}"
}
},
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "dedicated",
"showReuseMessage": false
},
"tasks": [
{
"label": "Build Release",
"command": "python ./scripts/build_app.py ${config:APP_NAME}",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9296 次 |
| 最近记录: |