在 vscode 中未检测到 env 文件

我有一个my-project多根工作区:


- my-project

   - my-project-api-gateway

   - another-root-folder-we-dont-care-about

这是我的launch.json配置文件my-project-api-gateway


{

  // See https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes

  // and variables here https://code.visualstudio.com/docs/editor/variables-reference

  "version": "0.2.0",

  "configurations": [

    {

      "name": "my-project-api-gateway",

      "type": "go",

      "request": "launch",

      "mode": "debug",

      "envFile": "${workspaceFolder}/.env", ----> Error loading .env file

      "program": "${workspaceFolder}/src/main.go"

    }

  ]

}

调试控制台输出


Starting: /Users/me/go/bin/dlv dap --check-go-version=false --listen=127.0.0.1:53890 --log-dest=3 from /Users/me/path/to/project/src

DAP server listening at: 127.0.0.1:53890

Type 'dlv help' for list of commands.

2022/07/20 10:30:52 Error loading .env file

Process 13526 has exited with status 1

Detaching

dlv dap (13508) exited with code: 0

谢谢你的帮助


dlv、go、gopls 和 vscode 版本

❯ dlv version

Delve Debugger

Version: 1.8.2


❯ go version

go version go1.18 darwin/amd64


❯ gopls -v version

Build info

----------

golang.org/x/tools/gopls v0.9.1


❯ code -v

1.69.2


扩展Go for Visual Studio Code是 v0.35.1


胡说叔叔
浏览 453回答 1
1回答

慕村225694

这里的技巧是我.env在我的工作区文件夹下: ${workspaceFolder}/.env,但vscode没有${workspaceFolder}用作我通过调用我的 go 函数来获取文件的当前工作目录。.envos.Getwd()load_eng.go摘录如下:curDir, err := os.Getwd()if err != nil {    log.Println(err)}loadErr := godotenv.Load(curDir + "/.env")if loadErr != nil {  log.Fatalln("can't load env file from current directory: " + curDir)}所以,我只需要通过在我的文件中$cwd添加来设置当前工作目录:"cwd": "${workspaceFolder}"launch.json"configurations": [    {      "name": "My Application",      "type": "go",      "request": "launch",      "mode": "debug",      "envFile": "${workspaceFolder}/.env",      "program": "${workspaceFolder}/src/main.go",      "cwd": "${workspaceFolder}"    }  ]有用的资源:https://code.visualstudio.com/docs/editor/variables-reference#_predefined-variableshttps://github.com/golang/vscode-go/wiki/debugging
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go