python - 无法让 VS Code 将参数从 launch.json 传递给 Python

我不知道如何让 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 键按预期工作。它不适用于我在上面用红色圈出的按钮

最佳答案

Microsoft 技术支持 2022 年 5 月关于 vscode-python 的 github 问题的更新

您需要将此部分添加到您的 launch.json 文件中: “目的”:[“终端调试”]

我刚刚在 VS Code 1.67.1 上对其进行了测试,它可以正常工作。该文档似乎指出,如果您添加此“标志”,则 F5 或运行 > 调试将不会使用 launch.json 设置,但它们会使用。我已经要求他们更新他们的文档以使其更加清晰,因为它令人困惑。

============

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

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

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

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

所以现在,除了等待这个问题被修复之外,没有什么可做的。

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

https://stackoverflow.com/questions/70357348/

相关文章:

angular - TS2322 : Type 'HTMLDivElement' is not as

c# - 等待似乎没有按顺序执行

java - 如何删除连续位置的所有重复项?

tailwind-css - 如何使用 Tailwind CSS 定位具有特定数据属性的元素?

c++ - 将不同枚举类类型作为输入的函数,怎么样?

ios - 是否有修改器可以更改 SwiftUI Picker 的标签颜色?

python - 如何检查字符串中的特定元素在python中是否相等?

powershell - 设置 PSReadLineOption : A parameter can

regex - 如何在 perl regex 替换命令中使用 unicode 字符?

java - 如何将具有相同键但不同值的多个 map 合并为一个 map