Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python with Visual Studio Code - Run specific file

I am writing a small application with Visual Studio Code and Python. My application have these files:

Main.py
MyCustomClass.py

Basically, the Main.py is the entry point to the application. The other class is just logic to solve some problems.

While I developing the code, I test it, by running it, step by step. I run the application with F5 which is running the current file I'm editing. It can be the file MyCustomClass.py which doesn't have an entry point at all and I'm losing time to swap between files.

Is it possible to configure Visual Studio Code to run a specific file (Main.py) while running (F5)? No matter which file I am currently viewing.

like image 931
No1Lives4Ever Avatar asked Mar 05 '18 14:03

No1Lives4Ever


People also ask

How do I run a specific file in Python?

The most basic and easy way to run a Python script is by using the python command. You need to open a command line and type the word python followed by the path to your script file, like this: python first_script.py Hello World! Then you hit the ENTER button from the keyboard and that's it.

How do I change the Python executable path in Visual Studio Code?

To do so, open the Command Palette (Ctrl+Shift+P) and enter Preferences: Open User Settings. Then set python.condaPath , which is in the Python extension section of User Settings, with the appropriate path.


2 Answers

You need to edit your launch.json file. A quick way to do it is to click the wrench icon on the run toolbar:

Enter image description here


Then add the following to the launch.json file:

    {
        "name": "Python: main.py (Integrated Terminal)",
        "type": "python",
        "request": "launch",
        "program": "${workspaceFolder}/main.py",
        "console": "integratedTerminal"
    },

Above is my configuration, and the "program" line is what does the magic.

like image 143
ZSvedic Avatar answered Sep 21 '22 05:09

ZSvedic


The program setting in your launch configuration settings refers to the Python script that will be executed. By default, it is set to ${file} which refers to the file you are actively editing. Just set the value to the file you want to run.

{
   "name": "Python",
   "type": "python",
   "request": "launch",
   "stopOnEntry": true,
   "pythonPath": "${config:python.pythonPath}",
   "program": "main.py",  // Specify the full path to your file
   "cwd": "${workspaceFolder}",
   "env": {},
   "envFile": "${workspaceFolder}/.env",
   "debugOptions": [
       "RedirectOutput"
   ]
},

I should mention that if you are using Windows you can use either forward slashes / or double back slashes \\ in the program path. Single back slashes won't work.

like image 31
ScottB Avatar answered Sep 18 '22 05:09

ScottB