Skip to content
Home » Visual Studio Code Python Ide | Create A Python Source Code File

Visual Studio Code Python Ide | Create A Python Source Code File

How to set up Python on Visual Studio Code

Testing Support

VS Code can automatically recognize existing Python tests written in the

unittest

framework, or the

pytest

or

Nose

frameworks if those frameworks are installed in the current environment. I have a unit test written in

unittest

for the equation eval library, which you can use for this example.

To run your existing unit tests, from any Python file in the project, right-click and select Run Current Unit Test File. You’ll be prompted to specify the test framework, where in the project to search for tests, and the filename pattern your tests utilize.

All of these are saved as workspace settings in your local

.vscode/settings.json

file and can be modified there. For this equation project, you select

unittest

, the current folder, and the pattern

*_test.py

.

Once the test framework is set up and the tests have been discovered, you can run all your tests by clicking Run Tests on the Status Bar and selecting an option from the Command Palette:

You can even run individual tests by opening the test file in VS Code, clicking Run Tests on the Status Bar, and selecting the Run Unit Test Method… and the specific test to run. This makes it trivial to address individual test failures and re-run only failed tests, which is a huge time-saver! Test results are shown in the Output pane under Python Test Log.

Start VS Code in a workspace folder

By starting VS Code in a folder, that folder becomes your “workspace”.

Using a command prompt or terminal, create an empty folder called “hello”, navigate into it, and open VS Code (

code

) in that folder () by entering the following commands:


mkdir hello cd hello code .

Note: If you’re using an Anaconda distribution, be sure to use an Anaconda command prompt.

Alternately, you can create a folder through the operating system UI, then use VS Code’s File > Open Folder to open the project folder.

How to set up Python on Visual Studio Code
How to set up Python on Visual Studio Code

Git Integration

VS Code has built-in support for source control management, and ships with support for Git and GitHub right out of the box. You can install support for other SCM’s in VS Code, and use them side by side. Source control is accessible from the Source Control view:

If your project folder contains a

.git

folder, VS Code automatically turns on the full range of Git/GitHub functionality. Here are some of the many tasks you can perform:

  • Commit files to Git
  • Push changes to, and pull changes from, remote repos
  • Check-out existing or create new branches and tags
  • View and resolve merge conflicts
  • View diffs

All of this functionality is available directly from the VS Code UI:

VS Code will also recognize changes made outside the editor and behave appropriately.

Committing your recent changes within VS Code is a fairly straightforward process. Modified files are shown in the Source Control view with an M marker, while new untracked files are marked with a U. Stage your changes by hovering over the file and then clicking the plus sign (+). Add a commit message at the top of the view, and then click the check mark to commit the changes:

You can push local commits to GitHub from within VS Code as well. Select Sync from the Source Control view menu, or click Synchronize Changes on the status bar next to the branch indicator.

Intro to CS at Harvey Mudd College

Professor Zachary Dodds is a Computer Science professor at Harvey Mudd College who teaches several introductory classes both for students new to Computer Science and students from a non-Computer Science background. He co-created the popular introduction to Computer Science class CS5, which attracts students from all backgrounds to develop programming and problem-solving skills and to build “a coherent, intellectually compelling picture of Computer Science”. The class is taught with Python and uses VS Code as the recommended editor.

Why Visual Studio Code?

Professor Dodds has been recommending and using Visual Studio Code in his classes since it debuted in 2015.

“Visual Studio Code is the best balance of authenticity and accessibility… Visual Studio Code doesn’t feel ‘fake’, it’s what real software developers use. Plus, Visual Studio Code works on every OS!”

VS Code runs on Windows, macOS, Linux, and even Chromebooks.

Classroom settings

Since VS Code is easy to customize, Professor Dodds is able to tailor the editor for his students, preferring to hide IntelliSense, or code completion suggestions, so they can learn from what they type and reinforce the conceptual models being built.

Here are the settings his students use:


"editor.quickSuggestions": false, "editor.acceptSuggestionOnCommitCharacter": false, "editor.suggest.filterGraceful": true, "editor.suggestOnTriggerCharacters": false, "editor.acceptSuggestionOnEnter": "on", "editor.suggest.showIcons": false, "editor.suggest.maxVisibleSuggestions": 7, "editor.hover.enabled": false, "editor.hover.sticky": false, "editor.suggest.snippetsPreventQuickSuggestions": false, "editor.parameterHints.enabled": false, "editor.wordBasedSuggestions": "matchingDocuments", "editor.tabCompletion": "on", "extensions.ignoreRecommendations": true, "files.autoSave": "afterDelay",

You can find the most up-to-date settings on his course website: CS5 – Python Tips.

Integrated Terminal

Professor Dodds also utilizes the built-in terminal heavily in his class as an introduction to running programs from the command line and navigating around their machine all within Visual Studio Code. He appreciates how “the built-in terminal panel does not try to automate too much (which, if it did, would deprive newcomers of the experience of the information-flow that’s going on).”

In the video below, the student does all of their command line and coding work in one place, such as installing Python libraries, while working on Lab 3 from the CS5 class:

Thank you, Professor Dodds, for sharing your story! If you’re interested in using VS Code to teach Python in your classes, you can get started with the Python Education Extension Pack below!

Getting Started with Python in Visual Studio Code | Python with VSCode
Getting Started with Python in Visual Studio Code | Python with VSCode

Visual Studio Code Python for Data Science

Visual Studio Code allows users to simply run the data science code in Jupyter Notebook. We can run the cell and visualize the result within VSCode. It supports all kinds of programming languages and comes with built-in features to mimic the browser-based Jupyter notebook that we all love.

Learn more about Jupyter Notebooks by reading our How to use Jupyter Notebook tutorial.

To use the Jupyter notebook extension, we need to first install a Jupyter notebook.


pip install jupyterlab

Or


pip install notebook

Note: Jupyter Notebook and Jupyter Lab come with Anaconda Distribution, so we don’t have to install anything.

Install Jupyter Extension

After that, install the Jupyter extension from the Visual Studio marketplace.

To create a Jupyter notebook file, we can either create a new file with .ipynb extension or access the command palette (Ctrl+Shift+P) and select Jupyter: Create New Jupyter Notebook.

Pick the Ipython Kernel

To initialize the Jupyter server, we need to select the kernel by clicking on the kernel picker in the top right of the notebook, as shown in the image.

Note: By default, Anaconda comes with Python version 3.9.13. You can download the latest version of Python 3.11, but it won’t support all packages.

Run the Jupyter cell

Write a print expression to display “Hello World” and press the run button.

Add another cell

You can use the B key or click on + Code to add a new cell and run the cell with Ctrl + ⤶ Enter. You can learn about Jupyter keyboard shortcuts on defkey.

For R language users, we have got a Notebooks for R tutorial. You will learn to use R in a Jupyter Notebook and useful features.

Note: if you are looking for a hassle-free way of using Jupyter Notebook, then try DataCamp Workspace. It comes with essential Python libraries, a pre-build environment, and it supports various database integration.

Sublime Text

Sublime Text is one of the OG code editors that has been used by developers for years. It’s a very performant, powerful code editor with rich support for packages.

You can download Sublime Text from their official download page for Windows, macOS, and Linux. Once you have it installed, start Sublime Text like any other software.

Now click on Tools > Install Package Control…

This’ll install the Sublime Package Manager. Wait until a success message shows up.

Now go to Command Palette using the Ctrl + Shift + P key combination and type Install Package:

Select the first option and search for the Anaconda package. This is the ultimate Python package that turns Sublime Text into a Python IDE with features like autocompletion, code linting, IDE features, autopep8 formating, McCabe complexity checker, Vagrant and Docker support, and more.

There are also more specific packages such as Djaneiro for Django support and requirementstxt for requirements.txt support on Sublime Text. Just look around the Package Control website and you may find some pretty useful packages.

How to setup Python for VSCode in 2023 in 5mins! | Install Python and Setup VSCode for Windows 10
How to setup Python for VSCode in 2023 in 5mins! | Install Python and Setup VSCode for Windows 10

Installing Essential VSCode Python Extensions

The VSCode’s Python extensions will provide us with the helping functionalities for code editing, docstrings, linting, formatting, debugging, testing, and environment selection.

How to install a VSCode Extension

Click on the box icon on the activity bar or use a keyboard shortcut: Ctrl + Shift + X to open the extension panel. Type any keyword in the search bar to explore all kinds of extensions.

Install VSCode Python extension

In our case, we will type Python and install the Python extension by clicking on the install button, as shown above.

List of Essential Python Extensions

Python

The Python extension automatically installs Pylance, Jupyter, and isort extensions. It comes with a complete collection of tools for Data Science, web development, and software engineering.

Key Features:

Python extension comes with IntelliSense, linting, debugging, code navigation, code formatting, refactoring, variable explorer, and test explorer.

  • IntelliSense (code autocomplete)
  • Linting (Pylint, Flake8)
  • Code formatting (black, autopep)
  • Debugging
  • Testing (unittest, pytest)
  • Jupyter Notebooks
  • Environments (venv, pipenv, conda)
  • Refactoring
Indent-rainbow

Indent-rainbow extensions provide us with a multilevel colorized indentation for improved code readability. We get alternating colors on each step, and it helps us avoid common indentation errors.

Python Indent

Python Indent extension helps us with creating indentations. By pressing the Enter key, the extension will parse the Python file and determine how the next line should be indented. It is a time saver.

Jupyter Notebook Renderers

Jupyter Notebook Renderers is part of the Jupyter extension pack. It helps us render plotly, vega, gif, png, svg, and jpeg output.

autoDocstring

The autoDocstring extension helps us quickly generate docstring for Python functions. By typing triple quotes “”” or ”’ within the function, we can generate and modify docstring. Learn more about doc strings by following our Python Docstrings tutorial.

Note: Most Python development extensions and features come with Python extensions.

Conclusion

VSCode is not just a code editor. It is a complete ecosystem for efficient Python development. It provides us with shortcuts, Commands Palette, IntelliSense, linting, formatting, debugging, formatting, Git integrations, Jupyter notebook, third-party extensions, and a fully customizable development experience.

VSCode is highly recommended to beginners who are learning the basics of Python and data science. Complete Data Scientist with a Python career track to become a master in Python and data science. The career track consists of 25 courses and six projects to prepare you to become a professional data scientist.

A Deep Dive into the Phi-2 Model

Python List Size: 8 Different Methods for Finding the Length of a List in Python

An End-to-End ML Model Monitoring Workflow with NannyML in Python

Bex Tuychiev

15 min

Quick Start Guide for Python in VS Code

The Python extension makes Visual Studio Code an excellent Python editor, works on any operating system, and is usable with a variety of Python interpreters.

Get started by installing:

  • VS Code
  • A Python Interpreter (any actively supported Python version)
  • Python extension from the VS Code Marketplace

To further customize VS Code for Python, you can leverage the Python profile template, automatically installing recommended extensions and settings. For Data Science projects, consider using the Data Science profile template.

Which Code Editor (IDE) should you be using for Python in 2022?
Which Code Editor (IDE) should you be using for Python in 2022?

Run Python code

To experience Python, create a file (using the File Explorer) named

hello.py

and paste in the following code:


print("Hello World")

The Python extension then provides shortcuts to run Python code using the currently selected interpreter (Python: Select Interpreter in the Command Palette). To run the active Python file, click the Run Python File in Terminal play button in the top-right side of the editor.

You can also run individual lines or a selection of code with the Python: Run Selection/Line in Python Terminal command (Shift+Enter). If there isn’t a selection, the line with your cursor will be run in the Python Terminal. An identical Run Selection/Line in Python Terminal command is available on the context menu for a selection in the editor. The same terminal will be used every time you run a selection or a line in the terminal/REPL, until that terminal is closed. The same terminal is also used for Run Python File in Terminal. If that terminal is still running the REPL, you should exit the REPL (

exit()

) or switch to a different terminal before running a Python file.

The Python extension automatically removes indents based on the first non-empty line of the selection, shifting all other lines left as needed.

The command opens the Python Terminal if necessary; you can also open the interactive REPL environment directly using the Python: Start REPL command that activates a terminal with the currently selected interpreter and then runs the Python REPL.

For a more specific walkthrough and other ways of running code, see the run code tutorial.

Install and use packages

Let’s build upon the previous example by using packages.

In Python, packages are how you obtain any number of useful code libraries, typically from PyPI, that provide additional functionality to your program. For this example, you use the

numpy

package to generate a random number.

Return to the Explorer view (the top-most icon on the left side, which shows files), open

hello.py

, and paste in the following source code:


import numpy as np msg = "Roll a dice" print(msg) print(np.random.randint(1,9))

Tip: If you enter the above code by hand, you may find that auto-completions change the names after the


as

keywords when you press Enter at the end of a line. To avoid this, type a space, then Enter.

Next, run the file in the debugger using the “Python: Current file” configuration as described in the last section.

You should see the message, “ModuleNotFoundError: No module named ‘numpy'”. This message indicates that the required package isn’t available in your interpreter. If you’re using an Anaconda distribution or have previously installed the

numpy

package you may not see this message.

To install the

numpy

package, stop the debugger and use the Command Palette to run Terminal: Create New Terminal (⌃⇧` (Windows, Linux Ctrl+Shift+`)). This command opens a command prompt for your selected interpreter.

To install the required packages in your virtual environment, enter the following commands as appropriate for your operating system:

  1. Install the packages


    # Don't use with Anaconda distributions because they include matplotlib already. # macOS python3 -m pip install numpy # Windows (may require elevation) py -m pip install numpy # Linux (Debian) apt-get install python3-tk python3 -m pip install numpy

  2. Now, rerun the program, with or without the debugger, to view the output!

Congrats on completing the Python tutorial! During the course of this tutorial, you learned how to create a Python project, create a virtual environment, run and debug your Python code, and install Python packages. Explore additional resources to learn how to get the most out of Python in Visual Studio Code!

How to Run Python in Visual Studio Code on Windows 10 [2022] | Run Sample Python Program
How to Run Python in Visual Studio Code on Windows 10 [2022] | Run Sample Python Program

Python in Visual Studio Code

Working with Python in Visual Studio Code, using the Microsoft Python extension, is simple, fun, and productive. The extension makes VS Code an excellent Python editor, and works on any operating system with a variety of Python interpreters. It leverages all of VS Code’s power to provide auto complete and IntelliSense, linting, debugging, and unit testing, along with the ability to easily switch between Python environments, including virtual and conda environments.

This article provides only an overview of the different capabilities of the Python extension for VS Code. For a walkthrough of editing, running, and debugging code, use the button below.

Create a virtual environment

A best practice among Python developers is to use a project-specific

virtual environment

. Once you activate that environment, any packages you then install are isolated from other environments, including the global interpreter environment, reducing many complications that can arise from conflicting package versions. You can create non-global environments in VS Code using Venv or Anaconda with Python: Create Environment.

Open the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)), start typing the Python: Create Environment command to search, and then select the command.

The command presents a list of environment types, Venv or Conda. For this example, select Venv.

The command then presents a list of interpreters that can be used for your project. Select the interpreter you installed at the beginning of the tutorial.

After selecting the interpreter, a notification will show the progress of the environment creation and the environment folder (

/.venv

) will appear in your workspace.

Ensure your new environment is selected by using the Python: Select Interpreter command from the Command Palette.

Note: For additional information about virtual environments, or if you run into an error in the environment creation process, see Environments.

How To Setup A Virtual Environment For Python In Visual Studio Code In 2023
How To Setup A Virtual Environment For Python In Visual Studio Code In 2023

What is Visual Studio Code?

Visual Studio Code (also called VS Code) is like the mini version of Visual Studio. It is an open-source and lightweight text editor available on Windows, Mac, and Linux. There’s also the web version available at

https://vscode.dev/

.

VS Code comes with built-in support for JavaScript, TypeScript and Node JS, but you can use it to code in any language you want. All you need to do is download the relevant extensions.

Some of the extensions are made by Microsoft, but a lot of others are third-party extensions.

Unlike Visual Studio, you don’t need much space to download VS Code. You might not need more than 200 MB of disk space to download it.

Since it supports JavaScript, TypeScript, and Node JS by default, you get a debugger and intellisence, too. But to get intellisence, a compiler, and debuggers for other languages, you have to download relevant extensions.

Now you know that Visual Studio is an IDE and Visual Studio Code is a text editor. So let’s summarize their main differences next.

Intro to CS at Harvey Mudd College

Professor Zachary Dodds is a Computer Science professor at Harvey Mudd College who teaches several introductory classes both for students new to Computer Science and students from a non-Computer Science background. He co-created the popular introduction to Computer Science class CS5, which attracts students from all backgrounds to develop programming and problem-solving skills and to build “a coherent, intellectually compelling picture of Computer Science”. The class is taught with Python and uses VS Code as the recommended editor.

Why Visual Studio Code?

Professor Dodds has been recommending and using Visual Studio Code in his classes since it debuted in 2015.

“Visual Studio Code is the best balance of authenticity and accessibility… Visual Studio Code doesn’t feel ‘fake’, it’s what real software developers use. Plus, Visual Studio Code works on every OS!”

VS Code runs on Windows, macOS, Linux, and even Chromebooks.

Classroom settings

Since VS Code is easy to customize, Professor Dodds is able to tailor the editor for his students, preferring to hide IntelliSense, or code completion suggestions, so they can learn from what they type and reinforce the conceptual models being built.

Here are the settings his students use:


"editor.quickSuggestions": false, "editor.acceptSuggestionOnCommitCharacter": false, "editor.suggest.filterGraceful": true, "editor.suggestOnTriggerCharacters": false, "editor.acceptSuggestionOnEnter": "on", "editor.suggest.showIcons": false, "editor.suggest.maxVisibleSuggestions": 7, "editor.hover.enabled": false, "editor.hover.sticky": false, "editor.suggest.snippetsPreventQuickSuggestions": false, "editor.parameterHints.enabled": false, "editor.wordBasedSuggestions": "matchingDocuments", "editor.tabCompletion": "on", "extensions.ignoreRecommendations": true, "files.autoSave": "afterDelay",

You can find the most up-to-date settings on his course website: CS5 – Python Tips.

Integrated Terminal

Professor Dodds also utilizes the built-in terminal heavily in his class as an introduction to running programs from the command line and navigating around their machine all within Visual Studio Code. He appreciates how “the built-in terminal panel does not try to automate too much (which, if it did, would deprive newcomers of the experience of the information-flow that’s going on).”

In the video below, the student does all of their command line and coding work in one place, such as installing Python libraries, while working on Lab 3 from the CS5 class:

Thank you, Professor Dodds, for sharing your story! If you’re interested in using VS Code to teach Python in your classes, you can get started with the Python Education Extension Pack below!

How to Setup Python in Visual Studio Code on Windows 11
How to Setup Python in Visual Studio Code on Windows 11

Autocomplete and IntelliSense

IntelliSense is a general term for code editing features that relate to code completion. Take a moment to look at the example below. When print is typed, notice how IntelliSense populates auto-completion options. The user is also given a list of options when they begin to type the variable named greeting.

Autocomplete and IntelliSense are provided for all files within the current working folder. They’re also available for Python packages that are installed in standard locations.

Pylance is the default language server for Python in VS Code, and is installed alongside the Python extension to provide IntelliSense features.

Pylance is based on Microsoft’s Pyright static type checking tool, leveraging type stubs (

.pyi

files) and lazy type inferencing to provide a highly-performant development experience.

For more on IntelliSense generally, see IntelliSense.

Tip: Check out the IntelliCode extension for VS Code. IntelliCode provides a set of AI-assisted capabilities for IntelliSense in Python, such as inferring the most relevant auto-completions based on the current code context. For more information, see the IntelliCode for VS Code FAQ.

Customize IntelliSense behavior

Enabling the full set of IntelliSense features by default could end up making your development experience feel slower, so the Python extension enables a minimum set of features that allow you to be productive while still having a performant experience. However, you can customize the behavior of the analysis engine to your liking through multiple settings.

Enable Auto Imports

Pylance offers auto import suggestions for modules in your workspace and/or packages you have installed in your environment. This enables import statements to be automatically added as you type. Auto imports are disabled by default, but you can enable them by setting

python.analysis.autoImportCompletions

to

true

in your settings.

Enable IntelliSense for custom package locations

To enable IntelliSense for packages that are installed in non-standard locations, add those locations to the

python.analysis.extraPaths

collection in your

settings.json

file (the default collection is empty). For example, you might have Google App Engine installed in custom locations, specified in

app.yaml

if you use Flask. In this case, you’d specify those locations as follows:

Windows:


"python.analysis.extraPaths": [ "C:/Program Files (x86)/Google/google_appengine", "C:/Program Files (x86)/Google/google_appengine/lib/flask-0.12"]

macOS/Linux:


"python.analysis.extraPaths": [ "~/.local/lib/Google/google_appengine", "~/.local/lib/Google/google_appengine/lib/flask-0.12" ]

For the full list of available IntelliSense controls, you can reference the Python extension code analysis settings and autocomplete settings.

You can also customize the general behavior of autocomplete and IntelliSense, even disable the features completely. You can learn more in Customizing IntelliSense.

PyCharm

The first one in our list is an IDE from JetBrains. PyCharm is one of the most used Python IDEs out there (if not the most used).

The IDE has two editions. The professional edition will cost you $8.90 every month and $89.00 every year if billed yearly. There is also the community edition which is completely free and is built on open-source software. In this article I’ll discuss the community edition.

Both editions are available for Windows, macOS, and Linux. You can download the 30 day trial of the professional edition or the community edition from the official download page.

The installation process is pretty straightforward regardless of the platform you’re on. Once you’ve downloaded and installed PyCharm on your computer, you should be able to start the IDE. You can use the start menu shortcut on Windows, the Applications directory on macOS, or your application launcher on Linux.

You can create a new Python project by clicking on the New Project button.

In the next step, choose where you’d like to store your project. You can either create a new virtual environment or use a previously configured interpreter. In this case, I’m creating a new environment.

If you check the Create a main.py welcome script option, a new Python file with some boilerplate code will be created inside your project. Once you’re happy with all the choices, hit the Create button.

This is what the code editor looks like once the project has been created. On the left side you can browse all your source files, and you can hit the play button on the top right corner of the window to run the selected scripts in the dropdown.

As you can see, PyCharm comes with a terminal built in on the bottom of the window and you can see outputs from your program without ever leaving PyCharm.

The community edition is quite complete and you can do more or less everything you can do on the professional edition. The professional edition has better support for web frameworks like Django and some other bells and whistles.

If you’re a student, you can get PyCharm Professional Edition and all other JetBrains stuff for free by applying on their website. You can also get a free license of all the JetBrains products if you’re an open-source maintainer.

My Python Development Environment Setup - Full Tutorial
My Python Development Environment Setup – Full Tutorial

Navigation

While editing, you can right-click different identifiers to take advantage of several convenient commands

  • Go to Definition (F12) jumps from your code into the code that defines an object. This command is helpful when you’re working with libraries.

  • Peek Definition (⌥F12 (Windows Alt+F12, Linux Ctrl+Shift+F10)), is similar, but displays the definition directly in the editor (making space in the editor window to avoid obscuring any code). Press Escape to close the Peek window or use the x in the upper right corner.

  • Go to Declaration jumps to the point at which the variable or other object is declared in your code.

  • Peek Declaration is similar, but displays the declaration directly in the editor. Again, use Escape or the x in the upper right corner to close the Peek window.

Configure and run the debugger

Let’s now try debugging our Python program. Debugging support is provided by the Python Debugger extension, which is automatically installed with the Python extension. To ensure it has been installed correctly, open the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)) and search for

@installed python debugger

. You should see the Python Debugger extension listed in the results.

Next, set a breakpoint on line 2 of

hello.py

by placing the cursor on the

Next, to initialize the debugger, press F5. Since this is your first time debugging this file, a configuration menu will open from the Command Palette allowing you to select the type of debug configuration you would like for the opened file.

Note: VS Code uses JSON files for all of its various configurations;


launch.json

is the standard name for a file containing debugging configurations.

Select Python File, which is the configuration that runs the current file shown in the editor using the currently selected Python interpreter.

The debugger will start, and then stop at the first line of the file breakpoint. The current line is indicated with a yellow arrow in the left margin. If you examine the Local variables window at this point, you can see that the

msg

variable appears in the Local pane.

A debug toolbar appears along the top with the following commands from left to right: continue (F5), step over (F10), step into (F11), step out (⇧F11 (Windows, Linux Shift+F11)), restart (⇧⌘F5 (Windows, Linux Ctrl+Shift+F5)), and stop (⇧F5 (Windows, Linux Shift+F5)).

The Status Bar also changes color (orange in many themes) to indicate that you’re in debug mode. The Python Debug Console also appears automatically in the lower right panel to show the commands being run, along with the program output.

To continue running the program, select the continue command on the debug toolbar (F5). The debugger runs the program to the end.

Tip Debugging information can also be seen by hovering over code, such as variables. In the case of


msg

, hovering over the variable will display the string

Roll a dice!

in a box above the variable.

You can also work with variables in the Debug Console (If you don’t see it, select Debug Console in the lower right area of VS Code, or select it from the … menu.) Then try entering the following lines, one by one, at the > prompt at the bottom of the console:


msg msg.capitalize() msg.split()

Select the blue Continue button on the toolbar again (or press F5) to run the program to completion. “Roll a dice!” appears in the Python Debug Console if you switch back to it, and VS Code exits debugging mode once the program is complete.

If you restart the debugger, the debugger again stops on the first breakpoint.

To stop running a program before it’s complete, use the red square stop button on the debug toolbar (⇧F5 (Windows, Linux Shift+F5)), or use the Run > Stop debugging menu command.

For full details, see Debugging configurations, which includes notes on how to use a specific Python interpreter for debugging.

Tip: Use Logpoints instead of print statements: Developers often litter source code with

Python Full Course for Beginners | Complete All-in-One Tutorial | 9 Hours
Python Full Course for Beginners | Complete All-in-One Tutorial | 9 Hours

Run Python code

Click the Run Python File in Terminal play button in the top-right side of the editor.

The button opens a terminal panel in which your Python interpreter is automatically activated, then runs

python3 hello.py

(macOS/Linux) or

python hello.py

(Windows):

There are three other ways you can run Python code within VS Code:

  1. Right-click anywhere in the editor window and select Run > Python File in Terminal (which saves the file automatically):

  2. Select one or more lines, then press Shift+Enter or right-click and select Run Selection/Line in Python Terminal. This command is convenient for testing just a part of a file.

  3. From the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)), select the Python: Start REPL command to open a REPL terminal for the currently selected Python interpreter. In the REPL, you can then enter and run lines of code one at a time.

Congrats, you just ran your first Python code in Visual Studio Code!

Configuring Linting and Formatting in VSCode

Linting

Linting highlights the problems in the Python source code and provides us with suggestions. It generally highlights syntactical and stylistic issues. Linting helps you identify and correct coding issues that can lead to errors.

You can select the linting method by selecting Python: Select Linter command in the command palette (Ctrl+Shift+P). You can also manually enable the linting method in settings.

Select linting method

In our case, we have selected the flake8 method. You can also review the list of available linting methods.

  • Enable/ Disable Linting: select Python: Enable/Disable Linting in command palette.
  • Run Linting: command palette (Ctrl+Shift+P) > Python: Run Linting.

Fixing the error

After running the Python linter, you will see the issues with the suggestions.

Note: Enabling a different linter will prompt you to install the required Python package.

Formatting

Formatting makes code readable. It follows specific rules for line spacing, indents, spacing around operators, and closing brackets. The Python extension supports three Python formatting methods: autopep8, black, or yapf.

By reading about PEP-8: Python Naming Conventions & Code Standards, you can learn Python’s style guide and formatting rules.

Select the Python formatter

To access the formatting option, we have to open the settings panel by going to Preferences -> Settings or using the keyboard shortcut: Ctrl +,. After that, type “python formatting provider” in the search bar and select “black” from the dropdown menu.

Configure Python formatter

For formatting the Python file on save, we have to search for format on save in the Settings and enable the Editor: Format on Save option.

How to learn Python programming | Guido van Rossum and Lex Fridman
How to learn Python programming | Guido van Rossum and Lex Fridman

Conclusion

Like I said, these extensions and my personal configuration are not a silver bullet. But this setup is something that I’ve been using for quite a while and I hope it’s useful to you as well.

I often install specialized extensions depending on the projects I work on. For example, I use the Django or Jinja project when I work on a Django or Flask project.

Or I install the Jupyter extension while working on a Jupyter Notebook. So feel free to install whatever you need, just don’t overdo it.

Sử dụng Visual Studio Code Python

Python đã trở thành một trong những ngôn ngữ lập trình phổ biến năm 2022.

Bài viết này sẽ hướng dẫn các bạn sử dụng Visual Studio Code – Một Editor đa năng phát triển bởi MicroSoft.

Để cài đặt

Các bạn download từ link bên dưới (Link chính thức của Microsoft) DOWNLOAD VISUAL STUDIO CODE

Việc cài đặt rất dễ dàng, bạn chọn file cài đặt tương ứng với hệ điều hành sử dụng, click đúp cài đặt phần mềm.

Các extension hỗ trợ lập trình

Visual Studio Code được Microsoft phát triển cho nhiều ngôn ngữ lập trình, nên để lập trình Python trên đó các bạn cài một số extension cần thiết.

Để cài extension bằng lệnh, trên VS code bấm tổ hợp phím [ Ctrl + P ], nhập lệnh cài đặt và gõ phím [ Enter ]

Để cài đặt thông thường các bạn bấm tổ hợp phím [ Ctrl + Shift + X ] hoặc bấm vào biểu tượng Extension trên VS code, tìm kiếm extension cần thiết bấm [ Install ] để cài đặt.

Hướng dẫn sử dụng VS

Tạo Workspace

Từ cửa sổ VS Code, bấm tổ hợp phím [ Ctrl + N ]

Tạo file hello-world.py

Lần sau bạn muốn mở lại Project chỉ cần chọn [ Ctrl + O ] browser tới file này.

Chạy python script

Sau khi tạo file hello-world.py, để chạy file này chúng ta kích chuột phải vào file chọn “Run python file in terminal”

Kết quả:

Một số mẹo hay khi lập trình Python bằng VS

a. Nhảy tới 1 function

Giữ phím [ Ctrl ] và bấm vào function, method để nhảy tới function mà bạn đã định nghĩa.

b. Format source code theo chuẩn PEP 8


python -m pip install -U autopep8 --user

Bấm tổ hợp phím [ Ctrl + Shift + I ] để format file source code cho chúng.

All rights reserved

Start VS Code in a workspace folder

By starting VS Code in a folder, that folder becomes your “workspace”.

Using a command prompt or terminal, create an empty folder called “hello”, navigate into it, and open VS Code (

code

) in that folder () by entering the following commands:


mkdir hello cd hello code .

Note: If you’re using an Anaconda distribution, be sure to use an Anaconda command prompt.

Alternately, you can create a folder through the operating system UI, then use VS Code’s File > Open Folder to open the project folder.

Goodbye VS Code
Goodbye VS Code

Debugging

No more

For more specific information on debugging in Python, such as configuring your

launch.json

settings and implementing remote debugging, see Debugging. General VS Code debugging information is found in the debugging document.

Additionally, the Django and Flask tutorials provide examples of how to implement debugging in the context of web applications, including debugging Django templates.

How to create and open a Python project or file

If you have an existing Python project you wish to work on in VS Code, you can begin by opening your folder or file from the VS Code Welcome page or File Explorer view, or by selecting File > Open Folder (Ctrl+K Ctrl+O) or File > Open File (⌘O (Windows, Linux Ctrl+O)).

You can create a new Python file by selecting New File on the VS Code Welcome page and then selecting Python file, or by navigating to File > New File ().

Tip: If you already have a workspace folder open in VS Code, you can add new files or folders directly into your existing project. You can create new folders and files by using the corresponding New Folder or New File icons on the top level folder in the File Explorer view.

تعلم فيجول استديو فى 50 دقيقة | visual studio code
تعلم فيجول استديو فى 50 دقيقة | visual studio code

Python Extension

The first extension that you need to install is the Python Extension from Microsoft.

This is actually an extension pack that contains two extensions. The first extension is the Python extension. It lays the foundation for Python development in Visual Studio Code.

The other one is Pylance, which is a very performant language server for Python.

This extension provides rich intellisense support and is powered by Pyright, the static type checker from Microsoft. The next thing you need to think about is linting.

Enhance completions with AI

GitHub Copilot is an AI-powered code completion tool that helps you write code faster and smarter. You can use the GitHub Copilot extension in VS Code to generate code, or to learn from the code it generates.

GitHub Copilot provides suggestions for numerous languages and a wide variety of frameworks, and it works especially well for Python, JavaScript, TypeScript, Ruby, Go, C# and C++.

You can learn more about how to get started with Copilot in the Copilot documentation.

How to install Python 3.12.0 on Windows 11
How to install Python 3.12.0 on Windows 11

Python Extension Pack

Unsure which extensions to recommend to your students? You can point your students to the Python Education Extension Pack that contains essential and helpful extensions for the classroom. You can download the extension pack from the VS Code Marketplace:

The extension pack contains:

  • Python for basic Python functionality like compiling, debugging support, linting, Jupyter Notebooks, unit tests, and more.
  • Live Share to enable real-time collaboration.
  • Remote – SSH to work on remote projects (for example, to access lab machines) through SSH with full VS Code functionality.
  • Markdown+Math for full LaTeX support in Markdown.
  • Python Test Explorer for Visual Studio Code to visualize and run Python tests in the side bar.
  • Code Runner to run snippets (selected code) and single files of any code with a single click.

Installing and Configuring Visual Studio Code for Python Development

Installing Visual Studio Code is very accessible on any platform. Full instructions for Windows, Mac, and Linux are available, and the editor is updated monthly with new features and bug fixes. You can find everything at the Visual Studio Code website:

In case you were wondering, Visual Studio Code (or VS Code for short) shares almost nothing other than a name with its larger Windows-based namesake, Visual Studio.

Note: To learn how to set up VS Code as part of a full Python coding environment on a Windows machine, check out this comprehensive guide.

Visual Studio Code has built-in support for multiple languages and an extension model with a rich ecosystem of support for others. VS Code is updated monthly, and you can keep up to date at the Microsoft Python blog. Microsoft even makes the VS Code GitHub repo available for anyone to clone and contribute. (Cue the PR flood.)

The VS Code UI is well documented, so I won’t rehash it here:

Extensions for Python Development

As stated above, VS Code supports development in multiple programming languages through a well-documented extension model. The Python extension enables Python development in Visual Studio Code, with the following features:

  • Support for Python 3.4 and higher, as well as Python 2.7
  • Code completion with IntelliSense
  • Linting
  • Debugging support
  • Code snippets
  • Unit testing support
  • Automatic use of conda and virtual environments
  • Code editing in Jupyter environments and Jupyter Notebooks

Visual Studio Code extensions cover more than just programming language capabilities:

  • Keymaps allow users already familiar with Atom, Sublime Text, Emacs, Vim, PyCharm, or other environments to feel at home.

  • Themes customize the UI whether you like coding in the light, dark, or something more colorful.

  • Language packs provide a localized experience.

Here are some other extensions and settings I find useful:

  • GitLens provides tons of useful Git features directly in your editing window, including blame annotations and repository exploration features.

  • Auto save is easily turned on by selecting


    File, Auto Save

    from the menu. The default delay time is 1000 milliseconds, which is also configurable.

  • Settings Sync allows you to synchronize your VS Code settings across different installations using GitHub. If you work on different machines, this helps keep your environment consistent across them.

  • Docker lets you quickly and easily work with Docker, helping author


    Dockerfile

    and

    docker-compose.yml

    , package and deploy your projects, and even generate the proper Docker files for your project.

Of course, you may discover other useful extensions as you use VS Code. Please share your discoveries and settings in the comments!

Discovering and installing new extensions and themes is accessible by clicking on the Extensions icon on the Activity Bar. You can search for extensions using keywords, sort the results numerous ways, and install extensions quickly and easily. For this article, install the Python extension by typing

python

in the Extensions item on the Activity Bar, and clicking Install:

You can find and install any of the extensions mentioned above in the same manner.

Visual Studio Code Configuration Files

One important thing to mention is that Visual Studio Code is highly configurable through user and workspace settings.

User settings are global across all Visual Studio Code instances, while workspace settings are local to the specific folder or project workspace. Workspace settings give VS Code tons of flexibility, and I call out workspace settings throughout this article. Workspace settings are stored as

.json

files in a folder local to the project workspace called

.vscode

.

How to create Virtual Environment for Python in Visual Studio Code (2023)
How to create Virtual Environment for Python in Visual Studio Code (2023)

What is Visual Studio?

Visual Studio was first released in 1997 by Microsoft. It’s an integrated development environment (IDE) for developing, editing, and debugging websites, web, and mobile applications as well as cloud services.

Because it’s an IDE, programming utilities like a debugger, compiler, intellisence, and more are all bundled into it for you.

Visual Studio comes with built-in support for C# and .NET. It also supports other programming languages like C, C++, Python, F#, web languages (HTML, CSS, JavaScript), and a lot more. Support for Java was removed back in Visual Studio 2017.

Visual Studio runs on Windows and Mac. It has 3 editions – community, professional, and enterprise. The community version is free, while the professional and enterprise are not.

The installation is quite a bit more robust on Windows than Mac. So, on Windows, you might have to download more than 42 GB depending on what you want to do.

But on Mac, as of the time of writing this article, you need around 6.2 GB of disk space.

Run Python code

Click the Run Python File in Terminal play button in the top-right side of the editor.

The button opens a terminal panel in which your Python interpreter is automatically activated, then runs

python3 hello.py

(macOS/Linux) or

python hello.py

(Windows):

There are three other ways you can run Python code within VS Code:

  1. Right-click anywhere in the editor window and select Run > Python File in Terminal (which saves the file automatically):

  2. Select one or more lines, then press Shift+Enter or right-click and select Run Selection/Line in Python Terminal. This command is convenient for testing just a part of a file.

  3. From the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)), select the Python: Start REPL command to open a REPL terminal for the currently selected Python interpreter. In the REPL, you can then enter and run lines of code one at a time.

Congrats, you just ran your first Python code in Visual Studio Code!

How to Install and Run Python and Visual Studio Code (2023)
How to Install and Run Python and Visual Studio Code (2023)

Install a Python interpreter

Along with the Python extension, you need to install a Python interpreter. Which interpreter you use is dependent on your specific needs, but some guidance is provided below.

Windows

Install Python from python.org. Use the Download Python button that appears first on the page to download the latest version.

Note: If you don’t have admin access, an additional option for installing Python on Windows is to use the Microsoft Store. The Microsoft Store provides installs of supported Python versions.

For additional information about using Python on Windows, see Using Python on Windows at Python.org

macOS

The system install of Python on macOS is not supported. Instead, a package management system like Homebrew is recommended. To install Python using Homebrew on macOS use

brew install python3

at the Terminal prompt.

Note: On macOS, make sure the location of your VS Code installation is included in your PATH environment variable. See these setup instructions for more information.

Linux

The built-in Python 3 installation on Linux works well, but to install other Python packages you must install

pip

with get-pip.py.

Other options

  • Data Science: If your primary purpose for using Python is Data Science, then you might consider a download from Anaconda. Anaconda provides not just a Python interpreter, but many useful libraries and tools for data science.

  • Windows Subsystem for Linux: If you are working on Windows and want a Linux environment for working with Python, the Windows Subsystem for Linux (WSL) is an option for you. If you choose this option, you’ll also want to install the WSL extension. For more information about using WSL with VS Code, see VS Code Remote Development or try the Working in WSL tutorial, which will walk you through setting up WSL, installing Python, and creating a Hello World application running in WSL.

Note: To verify that you’ve installed Python successfully on your machine, run one of the following commands (depending on your operating system):

Linux/macOS: open a Terminal Window and type the following command:


python3 --version

Windows: open a command prompt and run the following command:


py -3 --version

If the installation was successful, the output window should show the version of Python that you installed. Alternatively, you can use the


py -0

command in the VS Code integrated terminal to view the versions of python installed on your machine. The default interpreter is identified by an asterisk (*).

Install a Python interpreter

Along with the Python extension, you need to install a Python interpreter. Which interpreter you use is dependent on your specific needs, but some guidance is provided below.

Windows

Install Python from python.org. Use the Download Python button that appears first on the page to download the latest version.

Note: If you don’t have admin access, an additional option for installing Python on Windows is to use the Microsoft Store. The Microsoft Store provides installs of supported Python versions.

For additional information about using Python on Windows, see Using Python on Windows at Python.org

macOS

The system install of Python on macOS is not supported. Instead, a package management system like Homebrew is recommended. To install Python using Homebrew on macOS use

brew install python3

at the Terminal prompt.

Note: On macOS, make sure the location of your VS Code installation is included in your PATH environment variable. See these setup instructions for more information.

Linux

The built-in Python 3 installation on Linux works well, but to install other Python packages you must install

pip

with get-pip.py.

Other options

  • Data Science: If your primary purpose for using Python is Data Science, then you might consider a download from Anaconda. Anaconda provides not just a Python interpreter, but many useful libraries and tools for data science.

  • Windows Subsystem for Linux: If you are working on Windows and want a Linux environment for working with Python, the Windows Subsystem for Linux (WSL) is an option for you. If you choose this option, you’ll also want to install the WSL extension. For more information about using WSL with VS Code, see VS Code Remote Development or try the Working in WSL tutorial, which will walk you through setting up WSL, installing Python, and creating a Hello World application running in WSL.

Note: To verify that you’ve installed Python successfully on your machine, run one of the following commands (depending on your operating system):

Linux/macOS: open a Terminal Window and type the following command:


python3 --version

Windows: open a command prompt and run the following command:


py -3 --version

If the installation was successful, the output window should show the version of Python that you installed. Alternatively, you can use the


py -0

command in the VS Code integrated terminal to view the versions of python installed on your machine. The default interpreter is identified by an asterisk (*).

You MUST WATCH THIS before installing PYTHON. PLEASE DON'T MAKE this MISTAKE.
You MUST WATCH THIS before installing PYTHON. PLEASE DON’T MAKE this MISTAKE.

Python and Visual Studio Code Setup

In this part, we will learn to install Python and VSCode and run a simple Python code.

Installing Python

Downloading and installing the latest version of Python is straightforward. Go to Python.org and download the latest version for Windows. The installer is also available for Linux/Unix, macOS, and other platforms. After downloading the installer, install Python with default settings.

Image from Python.org

The most popular way of installing Python is through Anaconda Distribution. It comes with a pre-installed package and software for us to start coding without hiccups. It is available for Windows, macOS, and Linux operating systems.

Image from Anaconda

After installing Python on our operating system, check whether it is properly working by typing the following command in CLI / Terminal.


python --version

Output:


Python 3.9.13

Other Python installation methods

We can also install Python using various CLI tools or through the Windows store.

You can check out our full guide on how to install Python for more details. Similarly, our interactive Introduction to Python course helps you master the basics of Python syntax, lists, functions, packages, and Numpy.

Installing VSCode

Installing VSCode is super simple. Download and install the stable build from the official website. The installer is available for all kinds of operating systems, including web browsers.

Image from Visual Studio Code

Other VSCode installation methods

We can install using Microsoft store, Snap Store, and multiple CLI tools for Windows, Linux, and macOS.

Running Python in VSCode

After installing Python and VSCode, it is time to write a simple code and run the Python file within the IDE.

Create a new file

At start, you will see the welcome note. Ignore that and go to File > New Text File or use the keyboard shortcut Ctrl + N to create a new file. After that, write a simple print expression to display “Hello World.”

Save Python file

Save the file using Ctrl + S. Select the file directory and type the file name. Make sure to add `.py` at the end of the file name.

Select the interpreter

To run the Python file, we need to select the Python interpreter. By default, the Anaconda environment comes with Python version 3.9.13.

Run a Python file

To run the Python file, simply click on the Run button on the top left, as shown in the image. It will initialize the terminal and run the Python file to display the output.

You can also type python test.py in the terminal to run the file present in the current directory.

Ruff Linter

A linter is a program that analyses your code statically and provides valuable insights on possible errors.

The Pylance extension does an excellent job of finding out fatal errors within your code, but there is more to code than just that.

When working on a big project, it’s pretty common to leave unwanted mess within your codebase. Things like unused imports and variables, bad code practices, and so on.

A good linter can point out code smells like this and make your code cleaner. Now, the go-to choice when it comes to Python linters is Pylint.

Pylint has been around for ages and works quite well, but I think there is a better alternative.

Ruff is an extremely fast Python linter written in Rust that imposes stricter linting rules than Pylint. The tool also has an official extension.

It’s a plug n’ play extension and doesn’t require any additional configuration whatsoever. So once you have it installed, you’re good to go.

How to setup Python for VSCode in 2023 in 3mins! | Install Python and Setup VSCode for MAC 10
How to setup Python for VSCode in 2023 in 3mins! | Install Python and Setup VSCode for MAC 10

Conclusion

Visual Studio Code is one of the coolest general purpose editors and a great candidate for Python development. In this article, you learned:

  • How to install VS Code on any platform
  • How to find and install extensions to enable Python-specific features
  • How VS Code makes writing a simple Python application easier
  • How to run and debug existing Python programs within VS Code
  • How to work with Git and GitHub repositories from VS Code

Visual Studio Code has become my default editor for Python and other tasks, and I hope you give it a chance to become yours as well.

If you have questions or comments, please reach out in the comments below. There is also a lot more information at the Visual Studio Code website than we could cover here.

The author sends thanks to Dan Taylor from the Visual Studio Code team at Microsoft for his time and invaluable input in this article.

Watch Now This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Python Development in Visual Studio Code (Setup Guide)

Editing Python in Visual Studio Code

Visual Studio Code is a powerful editing tool for Python source code. The editor includes various features to help you be productive when writing code. For more information about editing in Visual Studio Code, see Basic Editing and Code Navigation.

In this overview, we will describe the specific editing features provided by the Python extension, including steps on how to customize these features via user and workspace settings.

Why use VSCode for Python?

Virtual Studio Code (VSCode) is a perfect Integrated Development Environment for Python. It is simple and comes with built-in features that enhance the development experience. VSCode Python extensions come with powerful features like syntax autocomplete, linting, debugging, unit testing, GitOps, virtual environments, notebooks, editing tools, and the ability to customize the editor.

Key Features:

  1. Command Palette to access all commands by typing keywords.
  2. Fully customizable keyboard shortcuts.
  3. Jupyter extension for data science. Run Jupyter notebook within the IDE.
  4. Auto linting and formatting.
  5. Debugging and Testing.
  6. Git integration.
  7. Custom code snippets.
  8. Enhanced editing tools. Multi cursor selection, column selection, outline view, side-by-side preview, and search and modify.

In this tutorial, we will start by installing Python and VSCode, then run a Python script in VSCode. After that, we will customize the editor to enhance the Python development experience by installing essential extensions and learning about built-in features. In the end, we will learn about Python productivity hacks.

Top 7 Best Extensions In VSCode For Python Programming That I Use For Data Science Projects
Top 7 Best Extensions In VSCode For Python Programming That I Use For Data Science Projects

Quick Fixes

The add imports Quick Fix when using Pylance allows you to quickly complete import statements. First, begin by typing a package name within the editor. You will notice a Code Action is available to automatically complete the line of source code (as long as you have the module installed within the environment). Hover over the text (marked with a squiggle) and then select the Code Action light bulb when it appears. You can then select from a list of potential imports.

This Code Action also recognizes some of the popular abbreviations for the following common Python packages:

numpy

as np,

tensorflow

as tf,

pandas

as pd,

matplotlib.pyplot

as plt,

matplotlib

, as mpl,

math

as m,

scipi.io

as spio, and

scipy

as sp,

panel

as pn, and

holoviews

as hv.

The import suggestions list is ordered with import statements for packages (or modules) at the top. It will also include statements for more modules and/or members (classes, objects, etc.) from specified packages.

Just like with auto imports, only top-levels symbols are suggested by default. You can customize this behavior through the

python.analysis.packageIndexDepths

setting.

Tips and Tricks for Efficient Python Development in VSCode

VSCode comes with awesome Python development features and extensions. We can customize them to our needs and improve the productivity. In this section, we will learn about tips and tricks for efficient Python development.

  1. Getting started: Help > Get Started. Learn about VSCode’s customization and features by following guided tutorials.
  2. Command Palette: access entire all available commands by using the Keyboard shortcut: Ctrl+Shift+P. By writing keywords, we can access specific commands.
  3. Keyboard shortcuts: better than command palettes. We can modify keyboard shortcuts or memorize them by using keyboard reference sheets. It will help us access the commands directly, instead of searching with the keyword.
  4. Command line: launch the VSCode editor through the command line interface by typing `code .`. We can also customize how the editor is launched by adding additional arguments.
  5. Errors and warnings: quick jump to errors and warnings in a project by using the keyboard shortcut: Ctrl+Shift+M. We can also cycle through the error with F8 or Shift+F8.
  6. Customization: VSCode allows us to customize themes, keyboard shortcuts, JSON validation, debugging settings, fonts, and many more. It is a fully customizable IDE.
  7. Extensions: other Python extensions improve our development experience. Look for popular extensions on the Visual Studio Marketplace.
  8. Multi cursor selection: is a lifesaver. Add cursors at arbitrary positions by using Alt+Click. It will allow us to modify multiple lines of code at once. We can also use Ctrl+Shift+L to modify all occurrences of the current selection.
  9. Search and modify: this is the best tool for searching and modifying multiple expressions at once. We can also rename the symbol by selecting the symbol and typing F2.
  10. Git integration: allows us to perform all Git-related tasks within IDE. It provides an easy-to-use GUI for diff, views, staging, branching, committing, merging, and more.
  11. Code Snippets: is our best friend. Just like Autohotkey, we are creating templates for repeating code patterns. To create a custom code snippet, select File > Preferences > Configure User Snippets and then select the language.
  12. GitHub Copilot: is a winner extension for all kinds of development. It enhances the coding experience with artificial intelligence (AI) by suggesting lines of code or entire functions.

Bonus: sync your settings by logging into your GitHub account. It will sync your settings across all of the machines.

IDE Wars and Rust rules withe Lapce and Zed
IDE Wars and Rust rules withe Lapce and Zed

What is the Difference between “Visual Studio” and “Visual Studio Code”?

Basis Visual Studio Visual Studio Code
Type Visual Studio is a full-fledged IDE VS Code is a text editor (AKA Code editor)
Platform Visual Studio runs on Windows and Mac VS Code runs on Windows, Mac, and Linux
Size Visual Studio is relatively large. You might have to download more than 40 GB on Windows and over 6 GB on Mac VS Code does not require more than 200 MB on any platform
Support Visual Studio has built in support for C# and .NET, alongside several common languages apart from Java VS Code supports JavaScript, Typescript, and Node JS out of the box. It also supports other programming languages – as long as there’s an extension(s) for that
Pricing Visual Studio Community Edition is free, but the professional and enterprise editions code $45 and $250 per month respectively. VS Code is free. Most of the extensions are also free but there are freemium ones
Extensions Visual Studio does not have as many extensions as VS Code VS Code has numerous professionally and curated extensions for various purposes

Next steps

To learn how to build web apps with popular Python web frameworks, see the following tutorials:

There is much more to explore with Python in Visual Studio Code:

  • Python profile template – Create a new profile with a curated set of extensions, settings, and snippets
  • Editing code – Learn about autocomplete, IntelliSense, formatting, and refactoring for Python.
  • Linting – Enable, configure, and apply a variety of Python linters.
  • Debugging – Learn to debug Python both locally and remotely.
  • Testing – Configure test environments and discover, run, and debug tests.
  • Settings reference – Explore the full range of Python-related settings in VS Code.

Watch Now This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Python Development in Visual Studio Code (Setup Guide)

One of the coolest code editors available to programmers, Visual Studio Code, is an open-source, extensible, light-weight editor available on all platforms. It’s these qualities that make Visual Studio Code from Microsoft very popular, and a great platform for Python development.

In this article, you’ll learn about Python development in Visual Studio Code, including how to:

  • Install Visual Studio Code
  • Discover and install extensions that make Python development easy
  • Write a straightforward Python application
  • Learn how to run and debug existing Python programs in VS Code
  • Connect Visual Studio Code to Git and GitHub to share your code with the world

We assume you are familiar with Python development and already have some form of Python installed on your system (Python 2.7, Python 3.6/3.7, Anaconda, or others). Screenshots and demos for Ubuntu and Windows are provided. Because Visual Studio Code runs on all major platforms, you may see slightly different UI elements and may need to modify certain commands.

If you already have a basic VS Code setup and you’re hoping to dig deeper than the goals in this tutorial, you might want to explore some advanced features in VS Code.

Free Bonus: 5 Thoughts On Python Mastery, a free course for Python developers that shows you the roadmap and the mindset you’ll need to take your Python skills to the next level.

Visual Studio Code (Windows) - Setting up a Python Development Environment and Complete Overview
Visual Studio Code (Windows) – Setting up a Python Development Environment and Complete Overview

Troubleshooting

For help with common IntelliSense and Python editing issues, check the table below:

Problem Cause Solution
Pylance is only offering top-level symbol options when adding imports. By default, only top-level modules are indexed (depth=1).

For example, you may see

Try increasing the depth to which Pylance can index your installed libraries through the
Pylance is not automatically adding missing imports The auto import completion setting may be disabled. Check the Enable Auto Imports section.
Auto imports are enabled but Pylance is not automatically importing symbols defined in other files in the workspace. User defined symbols (those not coming from installed packages or libraries) are only automatically imported if they have already been used in files opened in the editor.

Otherwise, they will only be available through the add imports Quick Fix.

Use the add imports Quick Fix, or make sure to open the relevant files in your workspace first.
Pylance seems slow or is consuming too much memory when working on a large workspace. Pylance analysis is done on all files present in a given workspace. If there are subfolders you know can be excluded from Pylance’s analysis, you can add their paths to the
You are unable to install a custom module into your Python project. The custom module is located in a non-standard location (not installed using pip). Add the location to the

Pylance Diagnostics

Pylance by default provides diagnostics for Python files in the Problems panel.

The list below are some of the most common diagnostics provided by Pylance and how to fix them.

importResolveSourceFailure

This error occurs when Pylance is able to find type stubs for the imported package, but is unable find the package itself. This can happen when the package you are trying to import is not installed in the selected Python environment.

How to fix it

  • If the package is already installed in a different interpreter or kernel, select the correct interpreter.
  • If the package is not installed, you can install it by running the following command in an activated terminal:

    python -m pip install {package_name}

    .
importResolveFailure

This error happens when Pylance is unable to find the package or module you’re importing, nor its type stubs.

How to fix it

  • If you are importing a module, make sure it exists in your workspace or in a location that is included in the

    python.autoComplete.extraPaths

    setting.
  • If you are importing a package that is not installed, you can install it by running the following command in an activated terminal:

    python -m pip install {package_name}

    .
  • If you are importing a package that is already installed in a different interpreter or kernel, select the correct interpreter.
  • If you are working with an editable install and it is currently set up to use import hooks, consider switching to using

    .pth

    files that only contain file paths instead, to enhance compatibility and ensure smoother import behavior. Learn more in the Pyright documentation.
importCycleDetected

This error occurs when Pylance detects a circular dependency between two or more modules.

How to fix it

Try to reorder your import statements to break the circular dependency.

The severity of Pylance’s diagnostics can be customized through the

python.analysis.diagnosticSeverityOverrides

setting. Check the settings reference for more information.

Error Lens

While not related to Python specifically, Error Lens is a great extension that embeds errors right by the side of the line of code.

I often work on my 14 inch Thinkpad and like to turn off the terminal pane. Error Lens eradicates the need to look at the terminal now and then to see my errors and warnings.

As useful as it may be, sometimes your editor can look cluttered due to all the warning and error outputs, so decide accordingly.

How to Setup Python on Microsoft Visual Studio 2022 | Amit Thinks
How to Setup Python on Microsoft Visual Studio 2022 | Amit Thinks

Python profile template

Profiles let you quickly switch your extensions, settings, and UI layout depending on your current project or task. To help you get started with Python development, you can use the Python profile template, which is a curated profile with useful extensions, settings, and snippets. You can use the profile template as is or use it as a starting point to customize further for you own workflows.

You select a profile template through the Profiles > Create Profile… dropdown:

Once you select a profile template, you can review the settings and extensions, and remove individual items if you don’t want to include them in your new Profile. After creating the new profile based on the template, changes made to settings, extensions, or UI are persisted in your profile.

IntelliCode

IntelliCode provides AI assisted code completion in Visual Studio Code. It may sound similar to GitHub Copilot, but in reality it’s a lot smaller than that.

Where GitHub Copilot or Tabnine provides full-blown code blocks, IntelliCode autocompletes lines of code pretty flawlessly.

In most cases, this extension can help you type less of the same code by suggesting the right thing while also keeping out of your way.

Powerful VSCode Tips And Tricks For Python Development And Design
Powerful VSCode Tips And Tricks For Python Development And Design

Isort

Like a linter, isort is another utility that’s sole purpose is sorting import statements.

The utility sorts all the imports alphabetically, while also dividing them into sections.

The extension is very straightforward. Once you have the extension, it’ll render squiggly lines under any import statement that seems out of place.

You can then use the quick action menu to sort them. Or, you can also use the command palette to quickly access the isort command.

Python Extension Pack

Unsure which extensions to recommend to your students? You can point your students to the Python Education Extension Pack that contains essential and helpful extensions for the classroom. You can download the extension pack from the VS Code Marketplace:

The extension pack contains:

  • Python for basic Python functionality like compiling, debugging support, linting, Jupyter Notebooks, unit tests, and more.
  • Live Share to enable real-time collaboration.
  • Remote – SSH to work on remote projects (for example, to access lab machines) through SSH with full VS Code functionality.
  • Markdown+Math for full LaTeX support in Markdown.
  • Python Test Explorer for Visual Studio Code to visualize and run Python tests in the side bar.
  • Code Runner to run snippets (selected code) and single files of any code with a single click.
Learn Visual Studio Code in 7min (Official Beginner Tutorial)
Learn Visual Studio Code in 7min (Official Beginner Tutorial)

Which should you Choose between “Visual Studio” and “Visual Studio Code”?

There has been a long-running debate about which is better and which to choose between Visual Studio and Visual Studio Code. Well, it depends on what you are doing.

If you’re developing exclusively with a language supported by Visual Studio such as C#, C, C++, Python, and others, Visual Studio or other relevant IDEs are likely the best option for you.

But even if you’re developing in those languages but you require a React, Vue, or Angular frontend, VS code might be the best option for you.

If you’re working in a team, they might provide you with the enterprise version of Visual Studio, or any other IDE that correlates with the language you are working with. For example, PyCharm for Python and IntelliJ Idea for Java.

If you’re using Linux, you have to choose Visual Studio Code or some other IDE apart from Visual Studio. That’s because Visual Studio does not run on Linux.

If you’re the kind of person that likes to customize your editor to your taste, just go for VS Code because it’s highly customizable. You also should probably choose VS Code if you are mixing technologies.

Conclusion

This article showed you the differences between Visual Studio and VS Code, and also what they both are separately.

The debate should never be which one is better than the other, but which is best for what you want to do, or what you need. That’s why we looked at some scenarios that might encourage you to choose one over the other.

Thank you for reading.

Getting Started with Python in VS Code

In this tutorial, you will learn how to use Python 3 in Visual Studio Code to create, run, and debug a Python “Roll a dice” application, work with virtual environments, use packages, and more! By using the Python extension, you turn VS Code into a great, lightweight Python editor.

If you are new to programming, check out the Visual Studio Code for Education – Introduction to Python course. This course offers a comprehensive introduction to Python, featuring structured modules in a ready-to-code browser-based development environment.

To gain a deeper understanding of the Python language, you can explore any of the programming tutorials listed on python.org within the context of VS Code.

For a Data Science focused tutorial with Python, check out our Data Science section.

HƯỚNG DẪN CÀI ĐẶT PYTHON & VISUAL STUDIO CODE CHI TIẾT!
HƯỚNG DẪN CÀI ĐẶT PYTHON & VISUAL STUDIO CODE CHI TIẾT!

Free Python and Data Science lessons

NASA-inspired lessons

This learning path enables students to use Python to explore doing analyses and projects inspired from real-world problems faced by National Aeronautics and Space Administration (NASA) scientists. View full details of the lessons under NASA-inspired Lessons.

Learn Python with Over The Moon

These space-themed lessons were inspired by the Netflix film, Over the Moon, and will introduce students to data science, machine learning, and artificial intelligence using Python and Azure. View full details on Learn Python with Over The Moon.

Wonder Woman-inspired lessons

Give an introduction to Python with “Wonder Woman 1984”-inspired lessons that help students learn about the basics like conditionals and variables. Get full lesson details under Learn Python with Wonder Woman.

Python in Notebooks

Learn the basics of Python. View the full lesson at Write basic Python in Notebooks in Visual Studio Code.

Set up your Python beginner development environment

A step-by-step guide to installing and setting up your Python and VS Code environment. View the full lesson at Set up your Python beginner development environment with Visual Studio Code.

Create a Python source code file

From the File Explorer toolbar, select the New File button on the

hello

folder:

Name the file

hello.py

, and VS Code will automatically open it in the editor:

By using the

.py

file extension, you tell VS Code to interpret this file as a Python program, so that it evaluates the contents with the Python extension and the selected interpreter.

Note: The File Explorer toolbar also allows you to create folders within your workspace to better organize your code. You can use the New folder button to quickly create a folder.

Now that you have a code file in your Workspace, enter the following source code in

hello.py

:


msg = "Roll a dice" print(msg)

When you start typing

IntelliSense and auto-completions work for standard Python modules as well as other packages you’ve installed into the environment of the selected Python interpreter. It also provides completions for methods available on object types. For example, because the

msg

variable contains a string, IntelliSense provides string methods when you type

msg.

:

Finally, save the file (⌘S (Windows, Linux Ctrl+S)). At this point, you’re ready to run your first Python file in VS Code.

For full details on editing, formatting, and refactoring, see Editing code. The Python extension also has full support for Linting.

VS Code vs Pycharm: Which IDE is the Best for Python Programming?
VS Code vs Pycharm: Which IDE is the Best for Python Programming?

Jupyter notebooks

To enable Python support for Jupyter notebook files (

.ipynb

) in VS Code, you can install the Jupyter extension. The Python and Jupyter extensions work together to give you a great Notebook experience in VS Code, providing you the ability to directly view and modify code cells with IntelliSense support, as well as run and debug them.

You can also convert and open the notebook as a Python code file through the Jupyter: Export to Python Script command. The notebook’s cells are delimited in the Python file with

#%%

comments, and the Jupyter extension shows Run Cell or Run Below CodeLens. Selecting either CodeLens starts the Jupyter server and runs the cell(s) in the Python interactive window:

You can also connect to a remote Jupyter server to run your notebooks. For more information, see Jupyter support.

Debugging and Testing in VSCode

Debugging

The Python extension comes with Debugging for all kinds of applications like multi-threaded, web, and remote applications. We can set breakpoints, inspect data, and run programs step by step.

Select a debug configuration

Launch the debug tab by clicking on the debug icon on the action bar or by using the keyboard shortcut Ctrl + Shift +D. To customize Debug options, click on create a launch.json file and select Python File.

Debug Panel

Run the Debug by clicking on the blue button Run and Debug, and it will run the Python file and show us the Variables, Watch, Call Stack, and breakpoints.

Quick debug

For quick debugging, you can always click on the down arrow beside the Run button and select Debug Python File.

Testing

The Python extension supports unittest and pytest testing frameworks. Instead of reading the test results in a terminal, you can review and resolve the issues within the Testing tab in an active bar.

Configure Python tests

After clicking on the Testing button, we will click on the Configure Python Tests button and select the testing framework. Usually, VSCode automatically detects the framework and displays all the tests in a tree view.

Learn about Python unit testing, implementing Python’s pytest testing framework by following our how to use pytest for unit testing tutorial.

Note: The testing example that we are using is from Visual Studio Code official documentation.

Run the unittest

We can run the Unit test by clicking on the Run Test button in the Testing tab and analyzing the results.

As we can observe, 1 of 2 tests have passed, and it has displayed the reasoning behind the failed result. VSCode testing is highly interactive and user-friendly.

The 5 Best Python IDE's and Editors
The 5 Best Python IDE’s and Editors

Free Python and Data Science lessons

NASA-inspired lessons

This learning path enables students to use Python to explore doing analyses and projects inspired from real-world problems faced by National Aeronautics and Space Administration (NASA) scientists. View full details of the lessons under NASA-inspired Lessons.

Learn Python with Over The Moon

These space-themed lessons were inspired by the Netflix film, Over the Moon, and will introduce students to data science, machine learning, and artificial intelligence using Python and Azure. View full details on Learn Python with Over The Moon.

Wonder Woman-inspired lessons

Give an introduction to Python with “Wonder Woman 1984”-inspired lessons that help students learn about the basics like conditionals and variables. Get full lesson details under Learn Python with Wonder Woman.

Python in Notebooks

Learn the basics of Python. View the full lesson at Write basic Python in Notebooks in Visual Studio Code.

Set up your Python beginner development environment

A step-by-step guide to installing and setting up your Python and VS Code environment. View the full lesson at Set up your Python beginner development environment with Visual Studio Code.

Getting Started with Python in VS Code

In this tutorial, you will learn how to use Python 3 in Visual Studio Code to create, run, and debug a Python “Roll a dice” application, work with virtual environments, use packages, and more! By using the Python extension, you turn VS Code into a great, lightweight Python editor.

If you are new to programming, check out the Visual Studio Code for Education – Introduction to Python course. This course offers a comprehensive introduction to Python, featuring structured modules in a ready-to-code browser-based development environment.

To gain a deeper understanding of the Python language, you can explore any of the programming tutorials listed on python.org within the context of VS Code.

For a Data Science focused tutorial with Python, check out our Data Science section.

Indent Rainbow

Unlike other programming languages, an incorrect level of indentation can literally break your program in Python.

Visual Studio Code already does a good job of visualizing indentation levels within your code, but if you want to add some color to it, the indent-rainbow package is what you need.

It adds different colors to the different levels of indentation. Personally, I don’t use this one on a regular basis, but you may find it useful.

How To Setup Python for VSCode | Setting Up VSCode For Python Programming
How To Setup Python for VSCode | Setting Up VSCode For Python Programming

Create a Python source code file

From the File Explorer toolbar, select the New File button on the

hello

folder:

Name the file

hello.py

, and VS Code will automatically open it in the editor:

By using the

.py

file extension, you tell VS Code to interpret this file as a Python program, so that it evaluates the contents with the Python extension and the selected interpreter.

Note: The File Explorer toolbar also allows you to create folders within your workspace to better organize your code. You can use the New folder button to quickly create a folder.

Now that you have a code file in your Workspace, enter the following source code in

hello.py

:


msg = "Roll a dice" print(msg)

When you start typing

IntelliSense and auto-completions work for standard Python modules as well as other packages you’ve installed into the environment of the selected Python interpreter. It also provides completions for methods available on object types. For example, because the

msg

variable contains a string, IntelliSense provides string methods when you type

msg.

:

Finally, save the file (⌘S (Windows, Linux Ctrl+S)). At this point, you’re ready to run your first Python file in VS Code.

For full details on editing, formatting, and refactoring, see Editing code. The Python extension also has full support for Linting.

Refactoring

The Python extension adds the following refactoring functionalities: Extract Variable, Extract Method and Rename Module. It also supports extensions that implement additional refactoring features such as Sort Imports.

Extract Variable

Extracts all similar occurrences of the selected text within the current scope, and replaces it with a new variable.

You can invoke this command by selecting the line of code you wish to extract as a variable. Then select the light-bulb that is displayed next to it.

Extract Method

Extracts all similar occurrences of the selected expression or block within the current scope, and replaces it with a method call.

You can invoke this command by selecting the lines of code you wish to extract as a method. Then select the light-bulb that is displayed next to it.

Rename Module

After a Python file/module is renamed, Pylance can find all instances that may need to be updated and provide you with a preview of all the changes.

To customize which references need to be updated, you can toggle the checkboxes at the line or from the file level in Refactor Preview. Once you’ve made your selections, you can select Apply Refactoring or Discard Refactoring.

Sort Imports

The Python extension supports extensions such as isort and Ruff that implement the Sort Imports functionality. This command consolidates specific imports from the same module into a single

import

statement, and organizes

import

statements in alphabetical order.

You can invoke this by installing an extension that supports sorting imports, then opening the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) and running Organize Imports.

Tip: you can assign a keyboard shortcut to the


editor.action.organizeImports

command.

How to run Python in Visual Studio Code on Windows 10/11 [ 2024 Update ] Python Developers
How to run Python in Visual Studio Code on Windows 10/11 [ 2024 Update ] Python Developers

Debugging Support

Even though VS Code is a code editor, debugging Python directly within VS Code is possible. VS Code offers many of the features you would expect from a good code debugger, including:

  • Automatic variable tracking
  • Watch expressions
  • Breakpoints
  • Call stack inspection

You can see them all as part of the Debug view on the Activity Bar:

The debugger can control Python apps running in the built-in terminal or an external terminal instance. It can attach to an already running Python instances, and can even debug Django and Flask apps.

Debugging code in a single Python file is as simple as starting the debugger using F5. You use F10 and F11 to step over and into functions respectively, and Shift+F5 to exit the debugger. Breakpoints are set using F9, or using the mouse by clicking in the left margin in the editor window.

Before you start debugging more complicated projects, including Django or Flask applications, you need to setup and then select a debug configuration. Setting up the debug configuration is relatively straightforward. From the Debug view, select the Configuration drop-down, then Add Configuration, and select Python:

Visual Studio Code will create a debug configuration file under the current folder called

.vscode/launch.json

, which allows you to setup specific Python configurations as well as settings for debugging specific apps, like Django and Flask.

You can even perform remote debugging, and debug Jinja and Django templates. Close the

launch.json

file in the editor and select the proper configuration for your application from the Configuration drop-down.

Create a virtual environment

A best practice among Python developers is to use a project-specific

virtual environment

. Once you activate that environment, any packages you then install are isolated from other environments, including the global interpreter environment, reducing many complications that can arise from conflicting package versions. You can create non-global environments in VS Code using Venv or Anaconda with Python: Create Environment.

Open the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)), start typing the Python: Create Environment command to search, and then select the command.

The command presents a list of environment types, Venv or Conda. For this example, select Venv.

The command then presents a list of interpreters that can be used for your project. Select the interpreter you installed at the beginning of the tutorial.

After selecting the interpreter, a notification will show the progress of the environment creation and the environment folder (

/.venv

) will appear in your workspace.

Ensure your new environment is selected by using the Python: Select Interpreter command from the Command Palette.

Note: For additional information about virtual environments, or if you run into an error in the environment creation process, see Environments.

Python Tutorial for Beginners with VS Code 🐍
Python Tutorial for Beginners with VS Code 🐍

Other popular Python extensions

The Microsoft Python extension provides all of the features described previously in this article. Additional Python language support can be added to VS Code by installing other popular Python extensions.

  1. Open the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)).
  2. Filter the extension list by typing ‘python’.

The extensions shown above are dynamically queried. Click on an extension tile above to read the description and reviews to decide which extension is best for you. See more in the Marketplace.

Microsoft Visual Studio Code

Next in the list of my favorites is Microsoft Visual Studio Code or VSCode for short. It’s an open-source, electron-powered, cross-platform code editor from Microsoft with a ton of customization options and extensions.

By installing the right set of extensions, you can turn Visual Studio Code into almost a fully-featured Python IDE. You can download VSCode for free from the official download site for Windows, macOS, and Linux.

Once you’ve installed VSCode on your system, open the software and go to the extensions tab by hitting the Ctrl + Shift + X key combination.

Use the search bar to search for and install the following extensions:

  • Python – provides features such as IntelliSense (Pylance), linting, debugging, code navigation, code formatting, refactoring, variable explorer, test explorer, and more!
  • PyLance – works alongside Python in Visual Studio Code to provide performant language support.
  • Visual Studio IntelliCode – provides AI-assisted development features for Python, TypeScript/JavaScript and Java developers in Visual Studio Code.

Once you have these three installed, you’re good to go. Create a directory anywhere on your machine and open that folder using VSCode. You can use the integrated terminal to run your code or execute any command in general.

You can set breakpoints by clicking on the left side of any line number. Then you can hit F5 to start debugging or Ctrl + F5 to run the program without debugging. VSCode has a lot more tricks up its sleeve that you’ll find out as you keep using it.

How to setup Python for VSCode in 3 mins only!! I Install Python and Setup VSCode for Windows 10!
How to setup Python for VSCode in 3 mins only!! I Install Python and Setup VSCode for Windows 10!

Next steps

  • Python Hello World tutorial – Get started with Python in VS Code.
  • Editing Python – Learn about auto-completion, formatting, and refactoring for Python.
  • Basic Editing – Learn about the powerful VS Code editor.
  • Code Navigation – Move quickly through your source code.
  • Django tutorial
  • Flask tutorial

Python in Visual Studio Code

Visual Studio Code is a free source code editor that fully supports Python and useful features such as real-time collaboration. It’s highly customizable to support your classroom the way you like to teach.

“Visual Studio Code is the best balance of authenticity and accessibility… Visual Studio Code doesn’t feel ‘fake’, it’s what real software developers use. Plus, Visual Studio Code works on every OS!” – Professor Zachary Dodds from Harvey Mudd College

Read below for recommendations for extensions, settings, and links to free lessons that you can use in your classes.

Next steps

To learn how to build web apps with popular Python web frameworks, see the following tutorials:

There is then much more to explore with Python in Visual Studio Code:

  • Python profile template – Create a new profile with a curated set of extensions, settings, and snippets
  • Editing code – Learn about autocomplete, IntelliSense, formatting, and refactoring for Python.
  • Linting – Enable, configure, and apply a variety of Python linters.
  • Debugging – Learn to debug Python both locally and remotely.
  • Testing – Configure test environments and discover, run, and debug tests.
  • Settings reference – Explore the full range of Python-related settings in VS Code.
  • Deploy Python to Azure App Service
  • Deploy Python to Container Apps

Much of your experience as a developer will depend on what program you’ve chosen to write your code in. A good integrated development environment (IDE) or Code Editor can really boost your productivity.

The problem with popular languages like Python is that every IDE or code editor under the sun seems to have good support for the language. While this can be great, choosing the best one becomes a bit tricky.

In this article I’ll introduce you to three IDEs and code editors that can make your Python journey smoother.

But before I begin I want to clarify the fact that this is not an exhaustive list. Like I said, Python is one of the most popular programming languages so it’s supported by a large number of code editors and IDEs.

I could’ve included as many of them as possible, but instead I chose to include the ones that I’ve used at some point in my life and don’t mind going back to. Because I think this’ll be more helpful.

Without any further ado, let’s jump in!

Configure and run the debugger

Let’s now try debugging our Python program. Debugging support is provided by the Python Debugger extension, which is automatically installed with the Python extension. To ensure it has been installed correctly, open the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)) and search for

@installed python debugger

. You should see the Python Debugger extension listed in the results.

Next, set a breakpoint on line 2 of

hello.py

by placing the cursor on the

Next, to initialize the debugger, press F5. Since this is your first time debugging this file, a configuration menu will open from the Command Palette allowing you to select the type of debug configuration you would like for the opened file.

Note: VS Code uses JSON files for all of its various configurations;


launch.json

is the standard name for a file containing debugging configurations.

Select Python File, which is the configuration that runs the current file shown in the editor using the currently selected Python interpreter.

The debugger will start, and then stop at the first line of the file breakpoint. The current line is indicated with a yellow arrow in the left margin. If you examine the Local variables window at this point, you can see that the

msg

variable appears in the Local pane.

A debug toolbar appears along the top with the following commands from left to right: continue (F5), step over (F10), step into (F11), step out (⇧F11 (Windows, Linux Shift+F11)), restart (⇧⌘F5 (Windows, Linux Ctrl+Shift+F5)), and stop (⇧F5 (Windows, Linux Shift+F5)).

The Status Bar also changes color (orange in many themes) to indicate that you’re in debug mode. The Python Debug Console also appears automatically in the lower right panel to show the commands being run, along with the program output.

To continue running the program, select the continue command on the debug toolbar (F5). The debugger runs the program to the end.

Tip Debugging information can also be seen by hovering over code, such as variables. In the case of


msg

, hovering over the variable will display the string

Roll a dice!

in a box above the variable.

You can also work with variables in the Debug Console (If you don’t see it, select Debug Console in the lower right area of VS Code, or select it from the … menu.) Then try entering the following lines, one by one, at the > prompt at the bottom of the console:


msg msg.capitalize() msg.split()

Select the blue Continue button on the toolbar again (or press F5) to run the program to completion. “Roll a dice!” appears in the Python Debug Console if you switch back to it, and VS Code exits debugging mode once the program is complete.

If you restart the debugger, the debugger again stops on the first breakpoint.

To stop running a program before it’s complete, use the red square stop button on the debug toolbar (⇧F5 (Windows, Linux Shift+F5)), or use the Run > Stop debugging menu command.

For full details, see Debugging configurations, which includes notes on how to use a specific Python interpreter for debugging.

Tip: Use Logpoints instead of print statements: Developers often litter source code with

Code Actions

Code Actions (also known as Quick Fixes) are provided to help fix issues when there are warnings in your code. These helpful hints are displayed in the editor left margin as a lightbulb (💡). Select the light bulb to display Code Action options. These Code Action can come from extensions such as Python, Pylance, or VS Code itself. For more information about Code Actions, see Python Quick Fixes.

Next steps

  • Linting – Enable, configure, and apply various Python linters.
  • Debugging – Learn to debug Python both locally and remotely.
  • Testing – Configure test environments and discover, run, and debug tests.
  • Basic Editing – Learn about the powerful VS Code editor.
  • Code Navigation – Move quickly through your source code.
  • IntelliSense – Learn about IntelliSense features.
  • Jupyter Support – Learn how to get started with Jupyter Notebooks.
  • Python Extension Template – Create an extension to integrate your favorite Python tools.

Visual Studio Code is one of the most versatile code editors out there. Even though it’s a code editor, the sheer extensibility of the program makes it almost as capable as some of the JetBrains products out there.

In this article, I’ll walk you through the entire process of configuring Visual Studio Code for Python development. It’s not a universal setup, but this is something that I use personally and have found it to be really comfortable.

The first step is to install Visual Studio Code on your computer. I’m on Debian 12 at the moment and I have the editor ready to go. Platform specific installation instructions are available in the documentation.

Assuming you are past the installation step, now I’ll introduce you to a set of essential extensions that will elevate your Python development experience to the next level.

Git Integration

VSCode comes with built-in Git integration. No more writing Git commands on terminals. Git integration provides a user-friendly GUI and helpful functions for diff, views, staging, branching, committing, merge, and more.

Check out our Git Cheat Sheet to learn about the various Git commands and functionalities.

Note: To enable Git integration, you need to install Git from official site.

Initializing Git

We can access it through the action bar or by using the keyboard shortcut: Ctrl + Shift + G. Before we start committing, we need to initialize the repository.

Git Commit

After that, add and commit the changes with the message. It is that simple.

Create a GitHub repository and push the code

You can even create a GitHub repository and push your code to a remote server by logging into your GitHub account.

Private GitHub repository

We have created a GitHub private repository of Python files and folders.

You can now simply commit and push the changes to the remote server without leaving the VSCode.

Follow our Github and Git tutorial to learn everything about Git and GitHub.

Testing

The Python extension supports testing with Python’s built-in unittest framework and pytest.

In order to run tests, you must enable one of the supported testing frameworks in the settings of your project. Each framework has its own specific settings, such as arguments for identifying the paths and patterns for test discovery.

Once the tests have been discovered, VS Code provides a variety of commands (on the Status Bar, the Command Palette, and elsewhere) to run and debug tests. These commands also allow you to run individual test files and methods

Mypy Type Checker

Before I start talking about this extension, let me explain what mypy actually is.

According to the info on their homepage:

Mypy is an optional static type checker for Python that aims to combine the benefits of dynamic (or “duck”) typing and static typing. Mypy combines the expressive power and convenience of Python with a powerful type system and compile-time type checking.

In simpler words, mypy forces you to add essential type annotations to your Python programs, making them easier to comprehend.

Recently, Microsoft has published an extension that adds type checking functionality using mypy to their beloved editor.

Once you have installed the extension, it’ll perform necessary checks on your code and report any missing type annotations as compile-time errors.

While having type annotations is not mandatory, it’s highly recommended.

IDE vs Code Editor – What’s the Difference?

Before you start reading about the IDEs and Code Editors I have in store for you, let’s clarify the definitions of an IDE and a Code Editor.

As you may already know, source code files are just text files with certain extensions appended to them. Any text editor that has some special feature such as syntax highlighting, automatic code indentation, and so on to make editing code files easier is called a code editor.

Popular code editors include Visual Studio Code, Sublime Text, Atom, Notepad++ and more.

An IDE or Integrated Development Environment, on the other hand, is a much more complex suite of software that combines multiple tools such as a code editor, a file browser, a terminal emulator, a database explorer and more in a single package.

Popular IDEs include PyCharm, IntelliJ Idea, Microsoft Visual Studio, and others.

But thanks to modern highly extensible code editors such as Microsoft Visual Studio Code, the line between an IDE and a Code Editor has started to fade away.

Now that you have a better idea of what an editor is compared to a full-blown IDE, let’s look at some of the best for Python coding.

Start a New Python Program

Let’s start our exploration of Python development in Visual Studio Code with a new Python program. In VS Code, type Ctrl+N to open a new File. (You can also select File, New from the menu.)

Note: The Visual Studio Code UI provides the Command Palette, from which you can search and execute any command without leaving the keyboard. Open the Command Palette using Ctrl+Shift+P, type

File: New File

, and hit Enter to open a new file.

No matter how you get there, you should see a VS Code window that looks similar to the following:

Once a new file is opened, you can begin entering code.

Entering Python Code

For our test code, let’s quickly code up the Sieve of Eratosthenes (which finds all primes less than a given number). Begin typing the following code in the new tab you just opened:


sieve = [True] * 101 for i in range(2, 100):

You should see something similar to this:

Wait, what’s going on? Why isn’t Visual Studio Code doing any keyword highlighting, any auto-formatting, or anything really helpful? What gives?

The answer is that, right now, VS Code doesn’t know what kind of file it’s dealing with. The buffer is called

Untitled-1

, and if you look in the lower right corner of the window, you’ll see the words Plain Text.

To activate the Python extension, save the file (by selecting File, Save from the menu, File:Save File from the Command Palette, or just using Ctrl+S) as

sieve.py

. VS Code will see the

.py

extension and correctly interpret the file as Python code. Now your window should look like this:

That’s much better! VS Code automatically reformats the file as Python, which you can verify by inspecting the language mode in the lower left corner.

If you have multiple Python installations (like Python 2.7, Python 3.x, or Anaconda), you can change which Python interpreter VS Code uses by clicking the language mode indicator, or selecting Python: Select Interpreter from the Command Palette. VS Code supports formatting using

pep8

by default, but you can select

black

or

yapf

if you wish.

Let’s add the rest of the Sieve code now. To see IntelliSense at work, type this code directly rather than cut and paste, and you should see something like this:

Here’s the full code for a basic Sieve of Eratosthenes:


sieve = [True] * 101 for i in range(2, 100): if sieve[i]: print(i) for j in range(i*i, 100, i): sieve[j] = False

As you type this code, VS Code automatically indents the lines under

for

and

if

statements for you properly, adds closing parentheses, and makes suggestions for you. That’s the power of IntelliSense working for you.

Running Python Code

Now that the code is complete, you can run it. There is no need to leave the editor to do this: Visual Studio Code can run this program directly in the editor. Save the file (using Ctrl+S), then right-click in the editor window and select Run Python File in Terminal:

You should see the Terminal pane appear at the bottom of the window, with your code output showing.

Python Linting Support

You may have seen a pop up appear while you were typing, stating that linting was not available. You can quickly install linting support from that pop up, which defaults to PyLint. VS Code also supports other linters. Here’s the complete list at the time of this writing:


  • pylint

  • flake8

  • mypy

  • pydocstyle

  • pep8

  • prospector

  • pyllama

  • bandit

The Python linting page has complete details on how to setup each linter.

Note: The choice of linter is a project workspace setting, and not a global user setting.

Install and use packages

Let’s build upon the previous example by using packages.

In Python, packages are how you obtain any number of useful code libraries, typically from PyPI, that provide additional functionality to your program. For this example, you use the

numpy

package to generate a random number.

Return to the Explorer view (the top-most icon on the left side, which shows files), open

hello.py

, and paste in the following source code:


import numpy as np msg = "Roll a dice" print(msg) print(np.random.randint(1,9))

Tip: If you enter the above code by hand, you may find that auto-completions change the names after the


as

keywords when you press Enter at the end of a line. To avoid this, type a space, then Enter.

Next, run the file in the debugger using the “Python: Current file” configuration as described in the last section.

You should see the message, “ModuleNotFoundError: No module named ‘numpy'”. This message indicates that the required package isn’t available in your interpreter. If you’re using an Anaconda distribution or have previously installed the

numpy

package you may not see this message.

To install the

numpy

package, stop the debugger and use the Command Palette to run Terminal: Create New Terminal (⌃⇧` (Windows, Linux Ctrl+Shift+`)). This command opens a command prompt for your selected interpreter.

To install the required packages in your virtual environment, enter the following commands as appropriate for your operating system:

  1. Install the packages


    # Don't use with Anaconda distributions because they include matplotlib already. # macOS python3 -m pip install numpy # Windows (may require elevation) py -m pip install numpy # Linux (Debian) apt-get install python3-tk python3 -m pip install numpy

  2. Now, rerun the program, with or without the debugger, to view the output!

Congrats on completing the Python tutorial! During the course of this tutorial, you learned how to create a Python project, create a virtual environment, run and debug your Python code, and install Python packages. Explore additional resources to learn how to get the most out of Python in Visual Studio Code!

Environments

The Python extension automatically detects Python interpreters that are installed in standard locations. It also detects conda environments as well as virtual environments in the workspace folder. See Configuring Python environments.

The current environment is shown on the right side of the VS Code Status Bar:

The Status Bar also indicates if no interpreter is selected:

The selected environment is used for IntelliSense, auto-completions, linting, formatting, and any other language-related feature. It is also activated when you run or debug Python in a terminal, or when you create a new terminal with the Terminal: Create New Terminal command.

To change the current interpreter, which includes switching to conda or virtual environments, select the interpreter name on the Status Bar or use the Python: Select Interpreter command.

VS Code prompts you with a list of detected environments as well as any you’ve added manually to your user settings (see Configuring Python environments).

Editing an Existing Python Project

In the Sieve of Eratosthenes example, you created a single Python file. That’s great as an example, but many times, you’ll create larger projects and work on them over a longer period of time. A typical new project work flow might look like this:

  • Create a folder to hold the project (which may include a new GitHub project)
  • Change to the new folder
  • Create the initial Python code using the command

    code filename.py

Using Visual Studio Code on a Python project (as opposed to a single Python file) opens up tons more functionality that lets VS Code truly shine. Let’s take a look at how it works with a larger project.

Late in the previous millennium, when I was a much younger programmer, I wrote a calculator program that parsed equations written in infix notation, using an adaptation of Edsger Dijkstra’s shunting yard algorithm.

To demonstrate the project-focused features of Visual Studio Code, I began recreating the shunting yard algorithm as an equation evaluation library in Python. To continue following along, feel free to clone the repo locally.

Once the folder is created locally, you can open the entire folder in VS Code quickly. My preferred method (as mentioned above) is modified as follows, since I already have the folder and basic files created:


cd /path/to/project code .

VS Code understands, and will use, any virtualenv, pipenv, or conda environments it sees when opened this way. You don’t even need to start the virtual environment first! You can even open a folder from the UI, using File, Open Folder from the menu, Ctrl+K, Ctrl+O from the keyboard, or File:Open Folder from the Command Palette.

For my equation eval library project, here’s what I see:

When Visual Studio Code opens the folder, it also opens the files you last had opened. (This is configurable.) You can open, edit, run, and debug any file listed. The Explorer view in the Activity Bar on the left gives you a view of all the files in the folder and shows how many unsaved files exist in the current set of tabs.

Next steps

To learn how to build web apps with popular Python web frameworks, see the following tutorials:

There is then much more to explore with Python in Visual Studio Code:

  • Python profile template – Create a new profile with a curated set of extensions, settings, and snippets
  • Editing code – Learn about autocomplete, IntelliSense, formatting, and refactoring for Python.
  • Linting – Enable, configure, and apply a variety of Python linters.
  • Debugging – Learn to debug Python both locally and remotely.
  • Testing – Configure test environments and discover, run, and debug tests.
  • Settings reference – Explore the full range of Python-related settings in VS Code.
  • Deploy Python to Azure App Service
  • Deploy Python to Container Apps

Python in Visual Studio Code

Visual Studio Code is a free source code editor that fully supports Python and useful features such as real-time collaboration. It’s highly customizable to support your classroom the way you like to teach.

“Visual Studio Code is the best balance of authenticity and accessibility… Visual Studio Code doesn’t feel ‘fake’, it’s what real software developers use. Plus, Visual Studio Code works on every OS!” – Professor Zachary Dodds from Harvey Mudd College

Read below for recommendations for extensions, settings, and links to free lessons that you can use in your classes.

Enhance completions with AI

GitHub Copilot is an AI-powered code completion tool that helps you write code faster and smarter. You can use the GitHub Copilot extension in VS Code to generate code, or to learn from the code it generates.

GitHub Copilot provides suggestions for languages beyond Python and a wide variety of frameworks, including JavaScript, TypeScript, Ruby, Go, C# and C++.

You can learn more about how to get started with Copilot in the Copilot documentation.

Autocomplete and IntelliSense

The Python extension supports code completion and IntelliSense using the currently selected interpreter. IntelliSense is a general term for a number of features, including intelligent code completion (in-context method and variable suggestions) across all your files and for built-in and third-party modules.

IntelliSense quickly shows methods, class members, and documentation as you type. You can also trigger completions at any time with ⌃Space (Windows, Linux Ctrl+Space). Hovering over identifiers will show more information about them.

Run, debug, and test

Now that you are more familiar with Python in VS Code, let’s learn how to run, debug, and test your code.

Run

There are a few ways to run Python code in VS Code.

To run the Python script you have open on the editor, select the Run Python File in Terminal play button in the top-right of the editor.

There are also additional ways you can iteratively run snippets of your Python code within VS Code:

  • Select one or more lines, then press Shift+Enter or right-click and select Run Selection/Line in Python Terminal. This command is convenient for testing just a part of a file.
  • From the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)), select the Python: Start REPL command to open a REPL terminal for the currently selected Python interpreter. In the REPL, you can then enter and run lines of code one at a time.

Debug

The debugger is a helpful tool that allows you to inspect the flow of your code execution and more easily identify errors, as well as explore how your variables and data change as your program is run. You can start debugging by setting a breakpoint in your Python project by clicking in the gutter next to the line you wish to inspect.

To start debugging, initialize the debugger by pressing F5. Since this is your first time debugging this file, a configuration menu will open allowing you to select the type of application you want to debug. If it’s a Python script, you can select Python File.

Once your program reaches the breakpoint, it will stop and allow you to track data in the Python Debug console, and progress through your program using the debug toolbar.

For a deeper dive into Python debugging functionality, see Python debugging in VS Code.

Test

The Python extension provides robust testing support for Unittest and pytest.

You can configure Python tests through the Testing view on the Activity Bar by selecting Configure Python Tests and selecting your test framework of choice.

You can also create tests for your Python project, which the Python extension will attempt to discover once your framework of choice is configured. The Python extension also allows you to run and debug your tests in the Testing view and inspect the test run output in the Test Results panel.

For a comprehensive look at testing functionality, see Python testing in VS Code.

Install Python and the Python extension

The tutorial guides you through installing Python and using the extension. You must install a Python interpreter yourself separately from the extension. For a quick install, use Python from python.org and install the extension from the VS Code Marketplace.

Note: To help get you started with Python development, you can use the Python profile template that includes useful extensions, settings, and Python code snippets.

Once you have a version of Python installed, select it using the Python: Select Interpreter command. If VS Code doesn’t automatically locate the interpreter you’re looking for, refer to Environments – Manually specify an interpreter.

You can configure the Python extension through settings. Learn more in the Python Settings reference.

Windows Subsystem for Linux: If you are on Windows, WSL is a great way to do Python development. You can run Linux distributions on Windows and Python is often already installed. When coupled with the WSL extension, you get full VS Code editing and debugging support while running in the context of WSL. To learn more, go to Developing in WSL or try the Working in WSL tutorial.

Conclusion

As I’ve already said, this is not an exhaustive list of all the popular Python IDEs and Code Editors. I’ve also used Spyder at a point in my life but decided to leave it off since it’s targeted at scientists and engineers.

I’ve also used IDLE for a brief period as well but it didn’t seem like a strong enough option when it comes to larger projects.

If you think I’ve left out any other good one, let me know via Twitter or LinkedIn. Also, if you’re native Bengali speaker, checkout freeCodeCamp’s Bengali Publication and YouTube Channel. Till the next one, stay safe and keep learning.

The first time I heard about “Visual Studio”, I thought it was the same as “Visual Studio Code”. I don’t know why Microsoft decided to confuse everyone with the names of those two development tools. But that’s a story for another day.

“Visual Studio” and “Visual Studio Code” are not the same thing. Visual Studio is an integrated development environment (IDE) and Visual Studio Code is a rich text editor like Sublime Text and Atom.

But the difference between the tools is more than just IDE and text editor.

An IDE is a robust tool for writing, editing, debugging, and running your code. A text editor only lets you write and edit your code. You might have to step out of a text editor to run your code or download plugins to help it do the running for you.

In this article, you’ll learn the main differences between Visual Studio and Visual Studio Code. But firstly, we need to know what “Visual Studio” is and what “Visual Studio Code is” before diving into those differences.

Keywords searched by users: visual studio code python ide

Python In Visual Studio Code – July 2022 Release - Python
Python In Visual Studio Code – July 2022 Release – Python
Setting Up Vscode For Python: A Complete Guide | Datacamp
Setting Up Vscode For Python: A Complete Guide | Datacamp
Visual Studio Python Ide - Python Development Tools For Windows
Visual Studio Python Ide – Python Development Tools For Windows
Getting Started With Python In Visual Studio Code | Python With Vscode -  Youtube
Getting Started With Python In Visual Studio Code | Python With Vscode – Youtube
Python Development In Visual Studio Code – Real Python
Python Development In Visual Studio Code – Real Python
Setting Up Vscode For Python: A Complete Guide | Datacamp
Setting Up Vscode For Python: A Complete Guide | Datacamp
Pycharm Vs. Vs Code: Choosing The Best Python Ide - Logrocket Blog
Pycharm Vs. Vs Code: Choosing The Best Python Ide – Logrocket Blog
Visual Studio Code And Python 3.9 Integration - Editor/Ide Integration -  Discussions On Python.Org
Visual Studio Code And Python 3.9 Integration – Editor/Ide Integration – Discussions On Python.Org
Setting Up Vscode For Python: A Complete Guide | Datacamp
Setting Up Vscode For Python: A Complete Guide | Datacamp
15+ Popular Python Ides In 2024: Choosing The Best One
15+ Popular Python Ides In 2024: Choosing The Best One

See more here: kientrucannam.vn

Leave a Reply

Your email address will not be published. Required fields are marked *