Visual Studio Code How debug Python script with arguments
Interview Questions practice on Codemia
Over 8,000 real interview questions from top companies, searchable by company and role.
Introduction
Visual Studio Code (VS Code) is a powerful, open-source code editor developed by Microsoft. It has gained tremendous popularity among developers due to its lightweight nature, flexibility, and a plethora of extensions that enhance its capabilities. One of its prominent features is its robust support for debugging, which is especially useful for languages like Python. In this article, we explore how you can efficiently debug a Python script in VS Code, even when you need to pass command-line arguments.
Setting Up Your Environment
Before diving into debugging, ensure that your VS Code and Python environments are correctly set up.
- Install VS Code: Visit the official site to download and install the latest version of Visual Studio Code.
- Install Python Extension: Open VS Code, go to the Extensions view by clicking on the Extensions icon in the Sidebar, located on the left side of the VS Code window. Search for "Python" and install the extension published by Microsoft. This extension is crucial as it provides rich support for the Python language.
- Install Python: Ensure Python is installed on your system. You can download it from python.org. After installation, verify it by running
python --versionin your terminal or command prompt.
Preparing a Python Script
Let's assume you have a Python script, example.py
, which accepts command-line arguments:
- Click on the Run and Debug icon from the Sidebar.
- Click on "create a launch.json file" link or "Add Configuration..." button.
- Select "Python File" from the list of configurations.
name: Name of your debug configuration.type: The debugger type, here it ispython.request: Specifies whether to launch a file or attach to a running process; for scripts, it's typicallylaunch.program: The path to the program file to debug, which is dynamically replaced by$\{file\}to run the current actively edited Python file.console: Specifies where to display the program output, either in theintegratedTerminalorexternalTerminal.args: List containing command-line arguments you wish to pass to your script.- Variable Explorer: Monitor the values of your variables.
- Watch Window: Add expressions you want to evaluate every time the debugger hits a breakpoint.
- Call Stack: View the call sequence leading to the current breakpoint.
- Step Controls: Use
Step Over,Step Into, andStep Outto navigate your code. - Set up a proper Python and VS Code environment.
- Configure your
launch.jsonto provide the necessary script arguments. - Use VS Code's interactive debugging features to analyze your script's execution and behavior.
Related reading
- VS Code / Pylance / Pylint Cannot resolve import
- VSCode doesn't show poetry virtualenvs in select interpreter option
- Wait until all threads are finished in Python
- Wait until all threads are finished in Python
- Visual Studio Code is always asking for Git credentials
- Visual Studio Code push automatically
- Visual Studio Code Tab Key does not insert a tab
- Visual Studio compiles fine, but it still shows red lines

OOD Fundamentals
Master object-oriented design from first principles, SOLID, design patterns, and classic interview problems with hands-on coding.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
Interview Questions practice on Codemia
Over 8,000 real interview questions from top companies, searchable by company and role.