让 VSCode Golang 调试器使用当前的 .venv?

问题描述

我正在构建一个 CLI,它需要与当前用户正在操作的 .venv 进行交互。一切正常 - 只是 VSCode 调试器没有。

这是我的launch.json

{
            "name": "Debug CLI","type": "go","request": "launch","mode": "debug","dlvLoadConfig": {
                "followPointers": true,"maxVariableRecurse": 1,"maxStringLen": 6400,"maxArrayValues": 64,"maxStructFields": -1
            },"remotePath": "","port": 2345,"host": "127.0.0.1","program": "${workspaceRoot}","env": {},"args": [
                "program","run"
            ],"showLog": true,"internalConsoleOptions": "openOnSessionStart"
        }

VSCode 使用了正确的虚拟环境:

image

如何让 VSCode“调试”命令在当前 .venv 下运行?

解决方法

也许以下内容可以帮助您:

如果您正在尝试启动 Python 程序,那么 vs code documentation 应该可以帮助您。

文档指出:

默认情况下,调试器使用相同的 python.pythonPath 工作区 设置与 VS Code 的其他功能一样。要使用不同的 专门用于调试的解释器,将 python 的值设置在 launch.json 用于适用的调试器配置。交替, 在状态栏上选择指定的解释器以选择不同的 一个。

我不知道您是否正在尝试启动两个应用程序,但为了启动 python,您必须使用 "type": "python"

{
    "version": "0.2.0","configurations": [
        {
            "name": "Python: Current File (Integrated Terminal)","type": "python","request": "launch","program": "${file}","console": "integratedTerminal"
        },{ 
            // Your previous config goes here
        }
    ]
}

此外,您还可以在 settings.json 处更改 python.pythonPath

{
    "python.pythonPath": ".venv/bin/python"
}

除非有两个应用程序,否则我不确定GolangPython 的虚拟环境之间的关系。也许我的回答完全错误,在这种情况下我会删除它。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...