【问题标题】:VSCode Debug - Prepend command when launching for django?VSCode 调试 - 为 django 启动时添加命令?
【发布时间】:2021-01-21 06:04:12
【问题描述】:

我最近开始使用 VSCode 来调试 Django,效果很好。

我使用一个系统来管理我的环境变量,但这需要首先使用它的关键字 (keys python manage.py runserver)

调试可以很好地启动标准 Django 安装 - 但我似乎无法让 python 调试器运行上述语句。

在我的launch.json 中,我尝试了如下一些配置:

# launch.json
    {
        "name": "Python: Django",
        "type": "python",
        "request": "launch",
        "preLaunchTask": "keys-run",
        "program": "${workspaceFolder}/manage.py",
        "args": [
            "runserver"
        ],
        "django": true
    }
# tasks.json
    {
        "type": "shell",
        "label": "keys-run",
        "command": "keys"
    }

我也试过这个:

    {
        "name": "Python: Django",
        "type": "python",
        "request": "launch",
        "program": "keys",
        "args": [
            "python", "manage.py", "runserver"
        ],
        "django": true
    }

第二个配置给我一个错误,没有这样的文件或目录'/home/username/project_directory/keys'

但是从命令行(zsh)我可以运行命令:keys python manage.py runserver,它会加载我的环境变量,然后加载并运行 django 没有问题。

将它放入 VSCode 调试器的最佳方法是什么?

【问题讨论】:

  • -如何理解“似乎无法让python调试器运行上述语句”。您是否尝试过使用“python manage.py runserver”?我在终端执行“python manage.py runserver”,显示连接成功。
  • 是的,我可以毫无问题地在终端中运行“python manage.py runserver”。我也可以在终端中运行“keys python manage.py runserver”,它可以工作。我正在尝试使用内置的 VS-Code 调试器。如果我想在没有键的情况下运行它,它可以工作....但我需要键作为第一个单词。

标签: python django visual-studio-code vscode-settings vscode-debugger


【解决方案1】:

你能用环境变量代替吗?这是一个示例,说明我如何使用触发变量(通过"env")来打开/关闭 Django 调试工具栏:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "env": {"DJDT": "1"},
            "program": "${workspaceFolder}/manage.py",
            "args": [
                "runserver",
                "0:8047",
            ],
            "django": true
        }
    ]
}

如果你不能让它工作,"program": "${workspaceFolder}/keys manage.py" 呢?

【讨论】:

  • 您好 - 感谢您的回复!不幸的是,我没有运气。出于某种原因,它只是不关心在 'python manage.py runserver' 之前运行 'keys' - 也许这根本不可能,如果我想使用密钥,我会在没有调试的情况下被卡住。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-24
  • 1970-01-01
  • 2017-05-02
  • 1970-01-01
  • 2019-04-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多