添加调试配置文件
或者打开命令面板输入debug: add configuration
选择带参数的python文件
可以在launch文件中
json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python 调试程序: 包含参数的当前文件",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"args": ["Alice","27"],
},
{
"name": "Python 调试程序: 当前文件",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
},
]
}
参数说明
- type:标识要使用的调试器类型
对于 Python 代码,将此设置保留为 python
-
request:指定开始调试的模式
常见的调试模式有以下两种:
-
launch :在 program 中指定的文件上启动调试器
-
attach :将调试器附加到已经运行的进程,在远程调试中会使用到
-
program:提供 python 程序的入口模块(启动文件)的绝对路径,还可以依赖工作空间根目录的相对路径(
${workspaceFolder}
)值 ${file} 通常在默认配置中使用,使用编辑器中当前活动的文件。
-
module:提供指定要调试的模块名称的功能
类似于在命令行运行时的 -m 参数。
-
python:指向用于调试的 Python 解释器的完整路径
如果未指定,此设置默认为为您的工作区选择的解释器,这相当于使用值 ${command:python.interpreterPath} 。
要使用不同的解释器,请在调试配置的 python 属性中指定其路径。
或者,可以使用在每个平台上定义的自定义环境变量来包含要使用的 Python 解释器的完整路径,以便不需要其他文件夹路径。
-
如果需要将参数传递给 Python 解释器 ,可以使用 pythonArgs 属性.
pythonArgs:向 Python 解释器传递参数
使用语法 "pythonArgs": ["", "",...] 指定要传递给 Python 解释器的参数。
-
args:指定要传递给 Python 程序 的参数
由空格分隔的参数字符串的每个元素都应包含在引号内,例如:
-
console:指定在不修改 redirectOutput 的默认值的情况下如何显示程序输出
具体有以下三种选择:
"internalConsole":VS Code 调试控制台。如果 redirectOutput 设置为 False,则不显示任何输出
"integratedTerminal" (default) :VS Code 集成终端。如果 redirectOutput 设置为 True,输出也会显示在调试控制台中
"externalTerminal":单独的控制台窗口。如果 redirectOutput 设置为 True,输出也会显示在调试控制台中
-
purpose:对 "运行" 按钮进行配置
将 purpose 选项设置为 debug-test ,定义在 VS Code 中调试测试时应使用该配置。
但是,将该选项设置为 debug-in-terminal 定义了仅在访问编辑器右上角的 "运行 Python 文件" 按钮时才应使用该配置(无论该按钮提供的是 "运行 Python 文件" 还是 "调试 Python 文件" 选项)。
-
cwd:指定调试器的当前工作目录
这是代码中使用的任何相对路径的基本文件夹。如果省略,则默认为 ${workspaceFolder} (在 VS Code 中打开的文件夹)
-
redirectOutput:重定向输出
当设置为 true (internalConsole 的默认值)时,使调试器将程序的所有输出打印到 VS Code 调试输出窗口中。
如果设置为 false (integratedTerminal 和 externalTerminal 的默认值),程序输出不会显示在调试器输出窗口中。
使用 "console": "integratedTerminal" 或 "console": "externalTerminal" 时通常会禁用此选项,因为无需在调试控制台中复制输出。
-
justMyCode:仅限调试用户编写的代码
当省略或设置为 true (默认值)时,仅限调试用户编写的代码。设置为 false 还可以启用标准库函数的调试。
-
env:设置除系统环境变量之外的可选环境变量
为调试器进程设置除调试器始终继承的系统环境变量之外的可选环境变量。这些变量的值必须以字符串形式输入。
-
envFile:包含环境变量定义的文件的可选路径
我的程序
python
if "__name__==__main__":
if len(sys.argv)<3:
print("no enough parameter")
sys.exit(1) # 非零退出码
name = sys.argv[1]
age = sys.argv[2]
try:
age=int(age)
except ValueError:
print("age is number")
sys.exit(1)
# 使用参数
print(f"你好, {name}!")
print(f"{name} 的年龄是 {age} 岁。")