vscode 给调试文件加参数

方法一:使用 args 数组:

json 复制代码
{
    "version": "2.0.0",
    "configurations": [
        {
            "name": "Adjust Table",
            "type": "python",
            "request": "launch",
            "program": "${workspaceRoot}/adjust_table.py",
            "justMyCode": false,
            "args": ["--param1", "value1", "--param2", "value2"]
        }
    ]
}

解释:

  • "args": ["--param1", "value1", "--param2", "value2"]:
    • args 是一个数组,其中的元素是传递给 adjust_table.py 的命令行参数。在这个例子中,程序启动时将收到 --param1 value1 --param2 value2 这样的参数列表。
    • 你可以根据需要修改这些参数,添加或删除元素,以满足程序的调试需求。

方法二:使用环境变量 env:

json 复制代码
{
    "version": "2.0.0",
    "configurations": [
        {
            "name": "Adjust Table",
            "type": "python",
            "request": "launch",
            "program": "${workspaceRoot}/adjust_table.py",
            "justMyCode": false,
            "env": {
                "PARAM1": "value1",
                "PARAM2": "value2"
            }
        }
    ]
}

解释:

  • "env": { "PARAM1": "value1", "PARAM2": "value2" }:
    • env 是一个对象,允许你设置环境变量。在程序内部,可以通过 os.environ.get("PARAM1") 和 os.environ.get("PARAM2") 来获取这些环境变量的值。
    • 这种方式适用于将一些配置信息通过环境变量传递给程序,而不是作为命令行参数。

方法三:结合 args 和 env:

json 复制代码
{
    "version": "2.0.0",
    "configurations": [
        {
            "name": "Adjust Table",
            "type": "python",
            "request": "launch",
            "program": "${workspaceRoot}/adjust_table.py",
            "justMyCode": false,
            "args": ["--param1", "${env:PARAM1}", "--param2", "${env:PARAM2}"],
            "env": {
                "PARAM1": "value1",
                "PARAM2": "value2"
            }
        }
    ]
}

解释:

  • "args": ["--param1", "${env:PARAM1}", "--param2", "${env:PARAM2}"]:
    • 这里结合了 args 和 env。${env:PARAM1} 表示从环境变量中获取 PARAM1 的值作为参数传递给程序。
    • 这允许你通过修改环境变量来改变传递给程序的参数,同时也可以在 args 中添加一些固定的参数。

使用说明:

  1. 将上述的任何一种配置添加到 .vscode/launch.json 文件中的 configurations 数组中。
  2. 在程序 adjust_table.py 中,对于方法一,可以使用 sys.argv 来获取命令行参数,例如:
python 复制代码
import sys
if len(sys.argv) > 1:
    print(sys.argv[1:])

对于方法二,使用 os.environ 来获取环境变量,例如:

python 复制代码
import os
param1 = os.environ.get("PARAM1")
param2 = os.environ.get("PARAM2")
print(param1, param2)

对于方法三,既可以使用 sys.argv 也可以使用 os.environ,根据配置中参数的传递方式来获取相应的信息。

这些方法可以根据你的具体需求灵活运用,例如,你可以根据不同的调试场景,方便地修改参数和环境变量的值,以满足不同的调试要求。

相关推荐
FriendshipT1 分钟前
Vim 完整指南:从入门到高效编辑
linux·人工智能·编辑器·vim·1024程序员节
.道阻且长.31 分钟前
Linux 基本开发工具:编辑器vim,配置vim
linux·运维·服务器·职场和发展·编辑器·vim·1024程序员节
NamoAmitabha12816 小时前
安装“编译器环境”(Android Studio)--deepseek--Cocos --Creator3.8.8
android·ide·android studio
Rabitebla1 天前
【Linux底层原理】 工具篇(二):Vim 编辑器基础操作与简单配置
linux·c++·编辑器·vim
2501_915106321 天前
Windows 用 KXBuild 开发 iOS 项目,CocoaPods、SPM 怎么处理?
windows·vscode·ios·个人开发·swift·敏捷流程·cocoapods
2501_915909061 天前
KXApp 能打开哪些 iOS 项目?xcodeproj 与 CocoaPods 支持清单
ide·vscode·ios·个人开发·xcode·敏捷流程·cocoapods
1024奇点2 天前
【仓颉语言入门 · 第二篇 第 10 课】
开发语言·数据库·ide·mysql·开源
白鹭鸣鸣!2 天前
WSL2 + OpenCode 完整搭建全流程(含迁移 WSL 到 D 盘)
编辑器
慧都小项2 天前
图解 MyEclipse Deployment Assembly:资源如何进入部署产物?
java·ide·tomcat·maven·myeclipse·部署排查
2501_916008892 天前
Windows 上写第一个 SwiftUI App,KXBuild 空工程起步,跑到 iPhone 真机
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程