如何通过Launch.json传递参数以在Visual Studio 2019中进行调试

时间:2019-09-23 23:34:46

标签: python json visual-studio debugging

我正在尝试从Visual Studio Code迁移到Visual Studio2017。我没有用于我的代码的项目或解决方案,而是使用设置的参数启动main.py文件以便运行。

我的launch.json文件中有当前代码

  "version": "0.2.1",
  "configurations": [
    {
      "project": "project\\myproject\\main.py",
      "name": "MyDebug:Debug",
      "type": "python",
      "request": "launch",
      "pythonPath": "C:\\ProgramData\\Anaconda3\\envs\\custom\\python.exe",
      "program": "${workspaceFolder}\\project\\myproject\\main.py",
      "console": "integratedTerminal",      
      "args": [
        "C:\\Users\\Me\\mytextdoc.txt",
        "-l",
        "DEBUG"
      ]
    },

当我从“调试”下拉列表中选择MyDebug时,启动项已正确设置为main.py。但是,调用main.py时,不会使用我的参数。

此代码已从Visual Studio代码环境中提取,并且基本上未更改(即“控制台”:“ integratedTerminal”)。

如何在Visual Studio 2019中传递参数?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我可以在Open and run Python code in a folder之后将定义从launch.json移植到launch.vs.json,但是我仍然遇到问题,scriptArguments是字符串而不是args数组,并且无法使用args。这非常烦人,因为带有所有参数的单个字符串可能会变得很长,并且设置文件变得难以管理(一个很长的参数字符串,无法在json文件中中断)。有谁对此有更好的解决方案? scriptArguments替代品?

谢谢, 伊曼纽尔

答案 1 :(得分:-1)

您看过这个guide吗?

在VS中使用打开文件夹模式

  1. 在解决方案资源管理器中右键单击Python(.py)启动文件,选择“设置为启动项”

  2. 在解决方案资源管理器中右键单击Python(.py)启动文件,然后选择“调试和启动设置”。

  3. 选择默认调试器

这将创建像这样的launch.vs.json文件

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
      "type": "python",
      "interpreter": "(default)",
      "interpreterArguments": "",
      "scriptArguments": "",
      "env": {},
      "nativeDebug": false,
      "webBrowserUrl": "",
      "project": "python3\\contemplate_koans.py",
      "name": "contemplate_koans.py",
      "workingDirectory": "python3"
    }
  ]
}
  1. 编辑“ scriptArguments”