【问题标题】:Cannot get VS Code to pass arguments to Python from launch.json无法让 VS Code 从 launch.json 将参数传递给 Python
【发布时间】:2021-12-15 01:02:31
【问题描述】:

我无法弄清楚如何让 VS Code for Mac 使用我在 launch.json 文件中定义的参数开始调试我的 Python 脚本,方法是使用我在此处圈出的右侧的调试按钮。我可以让我的论点被识别的唯一方法是转到菜单并选择“运行|开始调试”或者按 F5。

我如何告诉 VS Code 在使用该按钮时使用我的 launch.json 文件???

如果您在下面的链接中查看 Sourya Dey 的答案,这就是我写这篇文章的原因。必须有一些简单的设置或缺少步骤才能将该按钮链接到 F5。看来其他人也对此感到困惑。

Visual Studio Code: How debug Python script with arguments

为清楚起见,这是我的 launch.json 文件,它可以按预期与 F5 一起使用。它不适用于我上面用红色圈出的按钮

【问题讨论】:

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


    【解决方案1】:

    我向 Microsoft VS Code 团队提交了关于此问题的错误,他们将我发送到 Microsoft Python 扩展组。然后我在那里提交了一个引用 VC Code 票证的错误,并立即将其分配给“区域调试分类”。我想这将在以后的版本中修复(我在 1.63.2)

    首先,这个按钮的来源并不明显。我也向 Microsoft 指出了这个问题,因此他们可以改进他们的文档。当您安装没有扩展的 VS Code 时,此按钮不存在。但是一旦你加载了你的第一个 Python 文件,微软就会敦促你安装官方的“微软 Python 扩展”,然后按钮就会出现。在我看来,我认为这是一个原生的 VS Code 按钮,当你安装了语言调试器时就会出现。当我删除除 Microsoft Python 扩展之外的所有扩展时,我确信这是 VS Code 的一部分。

    上面的答案错误地指出这是按钮的正确行为。它不是。 Microsoft 已经确认了这一点,如果您阅读问题 #2338(“python.terminal.launchArgs 的文档不明确”),那里会回复:

    “不幸的是,这就是 vscode 的工作方式。调试时,所有设置都是从​​ launch.json 读取的,并且使用非调试 settings.json 这适用于 vscode 中的所有语言(扩展)。”

    所以现在,除了等待这个问题得到解决之外,没有什么可做的。

    最后,对于那些想知道我为什么要首先使用该按钮的人。大多数情况下,当我在 VS Code 中时,我会使用键盘映射来开始调试。但是对于这个特定的项目,我要去其他外部窗口,当回到 VS Code 时,因为我已经在使用鼠标,我只是想点击那里方便。我没有打开调试选项卡,它还有一个按预期工作的调试按钮。

    【讨论】:

      【解决方案2】:

      在 Visual Studio Code 中,Start Debugging Command (F5) 提供高级调试。 Debug Python File Command 用于执行基本的调试功能。您提到的行为表明不是错误,而是默认行为正常工作。

      下图显示当使用开始调试命令(F5)时参数被传递给程序。

      【讨论】:

      • 我知道该怎么做。我想让那个按钮起作用。
      • 您的回答与我的问题无关,而且是题外话。你能把它删掉吗?我想知道 VS Code 如何使用该按钮和我的 launch.json 文件启动调试器。这不是“如何使用 VS Code 调试 Python”的问题。这是一个 VS Code 用户界面问题。
      • 你说得对,我刚刚发现,这是默认行为。
      猜你喜欢
      • 2019-05-06
      • 2020-01-13
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      • 2017-02-18
      • 2015-11-11
      相关资源
      最近更新 更多