You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python项目Launch Config配置问题及VS Code调试困惑

解决VS Code Python项目调试与配置问题

第一步:激活Python插件

你安装的Python插件未激活是核心问题,先解决这个:

  • 点击左侧活动栏的「扩展」图标(方块形状),找到已安装的Microsoft发布的"Python"插件
  • 点击插件卡片上的「激活」按钮,显示「已启用」即激活成功
  • 重启VS Code确保插件生效

解决unittest调试配置保存问题

插件激活后,即可创建并保存调试配置:

  1. 点击左侧活动栏的「运行和调试」图标(虫子形状)
  2. 若未生成launch.json,面板顶部会显示「创建launch.json文件」选项;若没看到,直接点击面板右上角的齿轮图标进入配置流程
  3. 在环境选择弹窗中依次选「Python」→「unittest」
  4. 自动生成的配置可按需修改args指定测试文件,示例配置如下:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: unittest - my_test",
            "type": "python",
            "request": "launch",
            "module": "unittest",
            "args": [
                "test.my_test"
            ],
            "console": "integratedTerminal",
            "justMyCode": true
        }
    ]
}

配置完成后,点击调试按钮即可直接运行指定测试,无需重复输入命令。

解答核心困惑

1. 调试是否必须依赖Python插件与launch.json?

  • 不是必须。纯终端命令调试可不用,但VS Code的可视化调试功能(断点、变量监视、单步执行)必须依赖Python插件;launch.json是用来保存调试配置的文件,方便重复使用,新手用可视化调试效率更高。

2. launch.json是否仅适用于调试场景?

  • 是的。它专门用于配置VS Code的调试会话,包括启动参数、环境变量、调试目标等,仅和调试功能绑定,普通运行配置可使用tasks.json。

3. 如何配置多个launch.config?

  • 在launch.json的configurations数组中添加新的配置对象即可。比如同时配置调试主程序和测试文件:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: unittest - my_test",
            "type": "python",
            "request": "launch",
            "module": "unittest",
            "args": ["test.my_test"],
            "console": "integratedTerminal"
        },
        {
            "name": "Python: Run main.py",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/main.py",
            "console": "integratedTerminal"
        }
    ]
}

配置完成后,调试面板顶部的下拉菜单会显示所有配置选项,选择对应项即可启动不同调试会话。

4. launch.json是项目级还是工作区级配置?

  • 属于工作区级配置。.vscode文件夹放在打开的工作区根目录下,整个工作区的项目可共用该配置;若工作区包含多个子项目,也可针对不同子项目配置不同调试项。

关联config.json文件到项目

有两种常见方式实现:

  1. 代码直接读取:在main.py或my_database.py中读取文件内容,示例代码:
import json

with open('config.json', 'r') as f:
    config = json.load(f)

# 使用配置内容,如数据库连接信息
db_host = config.get('db_host')
  1. 通过环境变量传递:在launch.json的配置中添加env字段,将config.json中的键值对转为环境变量,示例:
{
    "name": "Python: Run main.py",
    "type": "python",
    "request": "launch",
    "program": "${workspaceFolder}/main.py",
    "console": "integratedTerminal",
    "env": {
        "DB_HOST": "localhost",
        "DB_PORT": "3306"
        // 可将config.json中的配置转为环境变量,代码中用os.getenv读取
    }
}

新手建议先从代码直接读取的方式入手,更易理解和操作。

内容的提问来源于stack exchange,提问作者Draco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 08:32:09