【发布时间】:2021-01-15 12:42:05
【问题描述】:
我有一个 Go 应用程序,它使用 Postgres DB on Cloud (Heroku),并将 DB Url 设置为环境变量,按照指南调用 Heroku CLI。
这样应用就可以用命令启动了
DATABASE_URL=$(heroku config:get DATABASE_URL -a my-db) my-app
现在我想在 VSCode 中以调试模式启动应用程序,但在调试开始之前我找不到设置 DATABASE_URL 变量的正确方法。我试过preLaunchTask,但没有成功。我与preLaunchTask 一起使用的配置是这些
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"preLaunchTask": "setPostgresDbUrl",
"program": "${fileDirname}",
"env": {},
"args": []
}
]
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "setPostgresDbUrl",
"type": "shell",
"command": "bash ./setUrl.sh"
}
]
}
setUrl.sh
#!/usr/bin/env bash
DATABASE_URL=$(heroku config:get DATABASE_URL -a go-batch)
【问题讨论】:
-
你有没有想过这个问题?我也有同样的问题。我目前的理解是任务将在自己的进程中运行,因此在该脚本中修改该环境变量不会影响启动进程 env。
-
@Zachary Rhodes 我添加了一个答案来描述我解决问题的方式
标签: visual-studio-code vscode-debugger vscode-tasks delve