Search code examples
pythonpython-2.7debuggingcommand-linevisual-studio-2015

How do I pass command line arguments to Python from VS in Debug mode?


I am working with Python Tools for Visual Studio. (Note, not IronPython.)

I need to work with arguments passed to the module from the command line. I see how to start the module in Debug by right-clicking in the code window and selecting "Start with Debugging". But this approach never prompts me for command line arguments, and len(sys.argv) always == 1.

How do I start my module in debug mode and also pass arguments to it so sys.argv has more than 1 member?


Solution

  • The steps are shown in the image linked here:

    image

    1. Go to debug mode in VS Code
    2. Click on the settings icon (gear icon). If it does not exist this will create a launch.json
    3. In the json, in any of the configuration, add the args json parameter:
    {
        "name": "Python: Terminal (integrated)",
        "type": "python",
        "request": "launch",
        "stopOnEntry": true,
        "pythonPath": "${config:python.pythonPath}",
        "program": "${file}",
        "cwd": "",
        "console": "integratedTerminal",
        "env": {},
        "args": [
            "input2.csv",
            "output2.csv"
        ],
        "envFile": "${workspaceFolder}/.env",
        "debugOptions": [],
        "internalConsoleOptions": "neverOpen"
    }
    

    Make sure you choose that environment while debugging