Rich editing, IntelliSense, and code comprehension
Visual Studio provides a first-class Python editor, including syntax coloring, autocomplete across all your code and libraries, code formatting, signature help, refactoring, linting, and type hints. Visual Studio also provides unique features like class view, Go to Definition, Find All References, and code snippets. Direct integration with the Interactive window helps you quickly develop existing Python code in a file.
For more information:
Full-featured debugging
One of Visual Studio’s strengths is its powerful debugger. For Python in particular, Visual Studio includes Python/C++ mixed-mode debugging, remote debugging on Linux, debugging within the Interactive window, and debugging Python unit tests.
In Visual Studio 2019 and later, you can run and debug code without having a Visual Studio project file. See Quickstart: Open and run Python code in a folder for an example.
For more information:
- Debug Python
- Python/C++ mixed-mode debugging
- Remote debugging on Linux
- Feature tour of the Visual Studio Debugger
Version Control integration
Collaborate on code with Git
Use Git as the default source control experience in Visual Studio right out of the box. From the new Git menu, you can create or clone repositories from GitHub or Azure DevOps. Use the integrated Git tool windows to commit and push changes to your code, manage branches, sync with your remote repositories, and resolve merge conflicts.
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.
For decades, when I got to work in the morning, I would start Microsoft Visual Studio (or one of its predecessors, such as Visual C++ or Visual InterDev), then brew tea and possibly attend a morning meeting while it went through its laborious startup. I would keep the IDE open all day as I went through develop/test/debug cycles to avoid another startup delay. When I worked on a C++ project with ~2 million lines of code, I also jump-started each day’s work by automatically running a batch script that did a code checkout and full rebuild of the product in the wee hours.
The startup overhead of Visual Studio has decreased significantly over the years, by the way. It’s now a non-issue even in huge Visual Studio 2022 projects.
Meanwhile, Visual Studio Code usually starts up quickly enough that I can be productive in a few minutes, even for large projects. I said usually, not always: Visual Studio Code itself needs a monthly update, and the many extensions I have installed often need their own updates. Still, even updating a dozen extensions in Visual Studio Code takes much less time than Visual Studio used to take to rebuild the symbol tables of a large C++ project.
Still, choosing between Visual Studio Code and Visual Studio is not as simple as choosing between a lightweight editor and a heavyweight IDE. While Visual Studio Code is highly configurable, Visual Studio is highly complete. Your choice may depend as much on your work style as on the language support and features you need. Let’s take a look at the capabilities and the trade-offs of these two development tools.
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
Review elements in Solution Explorer
Take some time to familiarize yourself with Solution Explorer, where you can browse files and folders in your project.
-
(1) At the top level is the solution, which by default has the same name as your project. A solution, which is shown as an .sln file on disk, is a container for one or more related projects. For example, if you write a C++ extension for your Python application, that C++ project can be in the same solution. The solution might also contain a project for a web service, and projects for dedicated test programs.
-
(2) Your project is highlighted in bold and uses the name you entered in the Create a new project dialog. On disk, this project is represented by a .pyproj file in your project folder.
-
(3) Under your project you see source files. In this example, you have only a single .py file. Selecting a file displays its properties in the Properties window. If you don’t see the Properties window, select the wrench icon in the Solution Explorer banner. Double-clicking a file opens it in whatever way is appropriate for that file.
-
(4) Also under the project is the Python Environments node. Expand the node to show the available Python interpreters.
-
(5) Expand an interpreter node to see the libraries installed in that environment.
Right-click any node or item in Solution Explorer to show a context menu of applicable commands. For example, Rename lets you change the name of a node or item, including the project and the solution.
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.
Visual Studio or Visual Studio Code?
You would think that deciding between Visual Studio and Visual Studio Code for any given software development task would be as simple as deciding between an IDE and an editor. It’s not, mostly because Visual Studio Code can be configured to be quite close to an IDE for many programming languages. However, along with this configurability come a number of trade-offs.
For example, if your development style is test-driven, Visual Studio will work right out of the box. On the other hand, there are more than 15 test-driven development (TDD) extensions for Visual Studio Code supporting Node.js, Go, .NET, and PHP. Similarly, Visual Studio does a good job working with databases, especially Microsoft SQL Server and its relatives, but Visual Studio Code has lots of database extensions. Visual Studio has great refactoring support, but Visual Studio Code implements the basic refactoring operations for half a dozen languages.
There are a few clear-cut cases that favor one development environment over the other. For instance, if you are a software architect and you have access to Visual Studio Enterprise, you’ll want to use that for the architecture diagrams. If you need to collaborate with team members on development or debugging, then Visual Studio is the better choice. If you need to do serious code analysis or performance profiling, or debug from a snapshot, then Visual Studio Enterprise will help you.
Visual Studio Code tends to be popular in the data science community. Nevertheless, Visual Studio has a data science workload that offers many features.
Visual Studio doesn’t run on Linux; Visual Studio Code does. On the other hand, Visual Studio for Windows has a Linux/C++ workload and Azure support.
For daily bread-and-butter develop/test/debug cycles in the programming languages supported in both Visual Studio and Visual Studio Code, which tool you choose really does boil down to personal preference. If you tend to work on a development project for hours at a time, then Visual Studio might be a better fit. If you tend to dip into development for brief periods, and rotate between other tasks, then Visual Studio Code might make you happier.
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.
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.
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.
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.
- Open the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)).
- 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.
Interactive window
For every Python environment known to Visual Studio, you can easily open the same interactive (REPL) environment for a Python interpreter directly within Visual Studio, rather than using a separate command prompt. You can easily switch between environments as well. To open a separate command prompt, select your desired environment in the Python Environments window, then select the Open in PowerShell command as explained earlier in the Support for multiple interpreters section.
Visual Studio also provides tight integration between the Python code editor and the Interactive window. The Ctrl+Enter keyboard shortcut conveniently sends the current line of code (or code block) in the editor to the Interactive window, then moves to the next line (or block). Ctrl+Enter lets you easily step through code without having to run the debugger. You can also send selected code to the Interactive window with the same keystroke, and easily paste code from the Interactive window into the editor. Together, these capabilities allow you to work out details for a segment of code in the Interactive window and easily save the results in a file in the editor.
Visual Studio also supports IPython/Jupyter in the REPL, including inline plots, .NET, and Windows Presentation Foundation (WPF).
For more information:
Phản hồi
Gửi và xem ý kiến phản hồi dành cho
Tutorial: Work with Python in Visual Studio
In this tutorial, you learn how to work with Python in Visual Studio. Python is a popular programming language that’s reliable, flexible, easy to learn, and free to use on all operating systems. Python is supported by a strong developer community and many free libraries. The language supports all kinds of development, including web applications, web services, desktop apps, scripting, and scientific computing. Many universities, scientists, casual developers, and professional developers use Python. Visual Studio provides first-class language support for Python.
This tutorial guides you through a six-step process:
- Step 1: Create a Python project (this article)
- Step 2: Write and run code to see Visual Studio IntelliSense at work
- Step 3: Create more code in the Interactive REPL window
- Step 4: Run the completed program in the Visual Studio debugger
- Step 5: Install packages and manage Python environments
- Step 6: Work with Git
This article covers the tasks in Step 1. You create a new project and review the UI elements visible in Solution Explorer.
Test your install
Quickly check your installation of Python support:
-
Launch Visual Studio.
-
Select Alt + I to open the Python Interactive window.
-
In the window, enter the statement
2+2
.The statement output
displays in the window. If you don’t see the correct output, recheck your steps.
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 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 (*).
Project system, and project and item templates
Visual Studio helps you manage the complexity of a project as it grows over time. A Visual Studio project is more than a folder structure. A project aids in the understanding of how different files are used and how they relate to each other. Visual Studio helps you distinguish app code, test code, web pages, JavaScript, build scripts, and so on, which then enable file-appropriate features. A Visual Studio solution helps you manage multiple related projects, such as a Python project and a C++ extension project.
Note
In Visual Studio 2019 and later, you can open a folder containing Python code and run that code without creating a Visual Studio project or solution file. For more information, see Quickstart: Open and run Python code in a folder. Keep in mind that there are benefits to using a project file, as explained in this section.
The following image shows an example of a Visual Studio solution containing both Python and Flask projects in Solution Explorer.
Project and item templates automate the process of setting up different types of projects and files. The templates save you valuable time and relieve you from managing intricate and error-prone details. Visual Studio provides templates for web, Azure, data science, console, and other types of projects. You can find templates for files like Python classes, unit tests, Azure web configuration, HTML, and even Django apps.
For more information:
- Manage Python projects
- Item templates reference
- Python project templates
- Work with C++ and Python
- Create project and item templates
- Solutions and projects in Visual Studio
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.
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.
Download and install the Python workload
Complete the following steps to download and install the Python workload.
-
Download and run the latest Visual Studio Installer for Windows. Python support is present in release 15.2 and later. If you have Visual Studio installed already, open Visual Studio and run the installer by selecting Tools > Get Tools and Features.
Tip
The Community edition is for individual developers, classroom learning, academic research, and open source development. For other uses, install Visual Studio Professional or Visual Studio Enterprise.
-
The installer provides a list of workloads that are groups of related options for specific development areas. For Python, select the Python development workload and select Install:
Python installation options Description Python distributions Choose any combination of Python distribution that you plan to work with. Common options include 32-bit and 64-bit variants of Python 2, Python 3, Miniconda, Anaconda 2, and Anaconda 3. Each option includes the distribution’s interpreter, runtime, and libraries. Anaconda, specifically, is an open data science platform that includes a wide range of preinstalled packages. Visual Studio automatically detects existing Python installations. For more information, see The Python Environments window. Also, if a newer version of Python is available than the version shown in the installer, you can install the new version separately and Visual Studio detects it. Cookiecutter template support Install the Cookiecutter graphical UI to discover templates, input template options, and create projects and files. For more information, see Use the Cookiecutter extension. Python web support Install tools for web development including HTML, CSS, and JavaScript editing support, along with templates for projects using the Bottle, Flask, and Django frameworks. For more information, see Python web project templates. Python native development tools Install the C++ compiler and other necessary components to develop native extensions for Python. For more information, see Create a C++ extension for Python. Also install the Desktop development with C++ workload for full C++ support. By default, the Python workload installs for all users on a computer under:
%ProgramFiles%\Microsoft Visual Studio\
\
Common7\IDE\Extensions\Microsoft\Python
where
is 2022 and
is Community, Professional, or Enterprise.
%ProgramFiles(x86)%\Microsoft Visual Studio\
\
Common7\IDE\Extensions\Microsoft\Python
where
is 2019 or 2017 and
is Community, Professional, or Enterprise.
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.
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).
Feedback
Submit and view feedback for
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.
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
.
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.
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)
Open source
Fork us on Github
Python Tools for Visual Studio is a completely free extension, developed and supported by Microsoft with contributions from the community. Visit our Github page to see or participate in PTVS development.
Python support in Visual Studio on Windows
Python is a popular programming language that’s reliable, flexible, easy to learn, free to use on all operating systems, and supported by both a strong developer community and many free libraries. Python supports all manner of development, including web applications, web services, desktop apps, scripting, and scientific computing. Scientists, casual developers, professional developers, and many universities alike use Python for programming. You can learn more about the language on python.org and Python for Beginners.
Visual Studio is a powerful Python IDE on Windows. Visual Studio provides open-source support for the Python language through the Python Development and Data Science workloads (Visual Studio 2017 and later) and the free Python Tools for Visual Studio extension (Visual Studio 2015 and earlier). Tour the Visual Studio IDE to familiarize yourself with the IDE features for writing and editing Python code.
Visual Studio Code is available on Mac and Linux. For more information, see questions and answers.
To get started:
-
Follow the installation instructions to set up the Python workload.
-
Familiarize yourself with the Python capabilities of Visual Studio through the sections in this article.
-
Go through one or more of the Quickstarts to create a project. If you’re unsure, start with Quickstart: Open and run Python code in a folder or Create a web app with Flask.
-
Follow the Work with Python in Visual Studio tutorial for a full end-to-end experience.
Support for multiple interpreters
Visual Studio’s Python Environments window gives you a single place to manage all of your global Python environments, conda environments, and virtual environments. Visual Studio automatically detects installations of Python in standard locations, and allows you to configure custom installations. With each environment, you can easily manage packages, open an interactive window for that environment, and access environment folders.
Use the Open interactive window command to run Python interactively within the context of Visual Studio. Use the Open in PowerShell command to open a separate command window in the folder of the selected environment. In that command window, you can run any python script.
For more information:
Full-featured debugging
One of Visual Studio’s strengths is its powerful debugger. For Python in particular, Visual Studio includes Python/C++ mixed-mode debugging, remote debugging on Linux, debugging within the Interactive window, and debugging Python unit tests.
In Visual Studio 2019 and later, you can run and debug code without having a Visual Studio project file. See Quickstart: Open and run Python code in a folder for an example.
For more information:
- Debug Python
- Python/C++ mixed-mode debugging
- Remote debugging on Linux
- Feature tour of the Visual Studio Debugger
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:
-
Right-click anywhere in the editor window and select Run > Python File in Terminal (which saves the file automatically):
-
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.
Congrats, you just ran your first Python code in Visual Studio Code!
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.
Questions and answers
Q. Is Python support available with Visual Studio for Mac?
A. Visual Studio for Mac isn’t currently supported. For more information, see What’s happening to Visual Studio for Mac? Visual Studio Code on Windows, Mac, and Linux works well with Python through available extensions.
Q. What can I use to build UI with Python?
A. The main offering in this area is the Qt Project with bindings for Python known as PySide (the official binding) (also see PySide downloads) and PyQt. Python support in Visual Studio doesn’t include any specific tools for UI development.
Q. Can a Python project produce a stand-alone executable?
A. Python is generally an interpreted language, where code is run on demand in a suitable Python-capable environment such as Visual Studio and web servers. Visual Studio doesn’t currently provide the means to create a stand-alone executable, which essentially means a program with an embedded Python interpreter. However, the Python community offers different means to create executables as described on StackOverflow. CPython also supports being embedded within a native application, as described on the blog post, Using CPython’s embeddable zip file.
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.
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.
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:
-
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
-
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!
Support for multiple interpreters
Visual Studio’s Python Environments window gives you a single place to manage all of your global Python environments, conda environments, and virtual environments. Visual Studio automatically detects installations of Python in standard locations, and allows you to configure custom installations. With each environment, you can easily manage packages, open an interactive window for that environment, and access environment folders.
Use the Open interactive window command to run Python interactively within the context of Visual Studio. Use the Open in PowerShell command to open a separate command window in the folder of the selected environment. In that command window, you can run any python script.
For more information:
The case for Visual Studio Code
Visual Studio Code is a lightweight but powerful source code editor that runs on your desktop and is available for Windows, macOS, and Linux. It comes with built-in support for JavaScript, TypeScript, and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP, and Go) and runtimes (such as .NET and Unity).
Aside from the whole idea of being lightweight and starting quickly, Visual Studio Code has IntelliSense code completion for variables, methods, and imported modules; graphical debugging; linting, multi-cursor editing, parameter hints, and other powerful editing features; snazzy code navigation and refactoring; and built-in source code control including Git support. Much of this was adapted from Visual Studio technology.
Visual Studio Code proper is built using the Electron shell, Node.js, TypeScript, and the Language Server protocol, and is updated on a monthly basis. The extensions are updated as often as needed. The richness of support varies across the different programming languages and their extensions, ranging from simple syntax highlighting and bracket matching to debugging and refactoring. You can add basic support for your favorite language through TextMate colorizers if no language server is available.
The code in the Visual Studio Code repository is open source under the MIT License. The VS Code product itself ships under a standard Microsoft product license, as it has a small percentage of Microsoft-specific customizations. It’s free despite the commercial license.
Visual Studio Code viewing the source code for itself. Note the messages (created using information from the Git repository) that show the authors of the functions and the most recent change dates. Also note the “peek” popup for
trackSelection()
in the middle of the screen.
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
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.
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.
Feedback
Submit and view feedback for
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!
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.
Rich editing, IntelliSense, and code comprehension
Visual Studio provides a first-class Python editor, including syntax coloring, autocomplete across all your code and libraries, code formatting, signature help, refactoring, linting, and type hints. Visual Studio also provides unique features like class view, Go to Definition, Find All References, and code snippets. Direct integration with the Interactive window helps you quickly develop existing Python code in a file.
For more information:
Project system, and project and item templates
Visual Studio helps you manage the complexity of a project as it grows over time. A Visual Studio project is more than a folder structure. A project aids in the understanding of how different files are used and how they relate to each other. Visual Studio helps you distinguish app code, test code, web pages, JavaScript, build scripts, and so on, which then enable file-appropriate features. A Visual Studio solution helps you manage multiple related projects, such as a Python project and a C++ extension project.
Note
In Visual Studio 2019 and later, you can open a folder containing Python code and run that code without creating a Visual Studio project or solution file. For more information, see Quickstart: Open and run Python code in a folder. Keep in mind that there are benefits to using a project file, as explained in this section.
The following image shows an example of a Visual Studio solution containing both Python and Flask projects in Solution Explorer.
Project and item templates automate the process of setting up different types of projects and files. The templates save you valuable time and relieve you from managing intricate and error-prone details. Visual Studio provides templates for web, Azure, data science, console, and other types of projects. You can find templates for files like Python classes, unit tests, Azure web configuration, HTML, and even Django apps.
For more information:
- Manage Python projects
- Item templates reference
- Python project templates
- Work with C++ and Python
- Create project and item templates
- Solutions and projects in Visual Studio
Interactive window
For every Python environment known to Visual Studio, you can easily open the same interactive (REPL) environment for a Python interpreter directly within Visual Studio, rather than using a separate command prompt. You can easily switch between environments as well. To open a separate command prompt, select your desired environment in the Python Environments window, then select the Open in PowerShell command as explained earlier in the Support for multiple interpreters section.
Visual Studio also provides tight integration between the Python code editor and the Interactive window. The Ctrl+Enter keyboard shortcut conveniently sends the current line of code (or code block) in the editor to the Interactive window, then moves to the next line (or block). Ctrl+Enter lets you easily step through code without having to run the debugger. You can also send selected code to the Interactive window with the same keystroke, and easily paste code from the Interactive window into the editor. Together, these capabilities allow you to work out details for a segment of code in the Interactive window and easily save the results in a file in the editor.
Visual Studio also supports IPython/Jupyter in the REPL, including inline plots, .NET, and Windows Presentation Foundation (WPF).
For more information:
Feedback
Submit and view feedback for
Python support in Visual Studio on Windows
Python is a popular programming language that’s reliable, flexible, easy to learn, free to use on all operating systems, and supported by both a strong developer community and many free libraries. Python supports all manner of development, including web applications, web services, desktop apps, scripting, and scientific computing. Scientists, casual developers, professional developers, and many universities alike use Python for programming. You can learn more about the language on python.org and Python for Beginners.
Visual Studio is a powerful Python IDE on Windows. Visual Studio provides open-source support for the Python language through the Python Development and Data Science workloads (Visual Studio 2017 and later) and the free Python Tools for Visual Studio extension (Visual Studio 2015 and earlier). Tour the Visual Studio IDE to familiarize yourself with the IDE features for writing and editing Python code.
Visual Studio Code is available on Mac and Linux. For more information, see questions and answers.
To get started:
-
Follow the installation instructions to set up the Python workload.
-
Familiarize yourself with the Python capabilities of Visual Studio through the sections in this article.
-
Go through one or more of the Quickstarts to create a project. If you’re unsure, start with Quickstart: Open and run Python code in a folder or Create a web app with Flask.
-
Follow the Work with Python in Visual Studio tutorial for a full end-to-end experience.
Step 1: Create a new Python project
A project is how Visual Studio manages all the files that come together to produce a single application. Application files include source code, resources, and configurations. A project formalizes and maintains the relationships among all the project’s files. The project also manages external resources that are shared between multiple projects. A project allows your application to effortlessly expand and grow. Using projects is easier than managing relationships by hand in unplanned folders, scripts, text files, and your memory.
This tutorial begins with a simple project containing a single, empty code file.
-
In Visual Studio, select File > New > Project to open the New Project dialog. You can also use the keyboard shortcut Ctrl+Shift+N. In the dialog, you can browse templates across different languages, select a template for your project, and specify where Visual Studio places files.
-
To view Python templates, select Installed > Python on the left menu, or search for “Python.” The search option is a great way to find a template when you can’t remember its location in the languages tree.
Python support in Visual Studio includes several project templates, including web applications using the Bottle, Flask, and Django frameworks. For the purposes of this walkthrough, however, let’s start with an empty project.
-
Select the Python Application template, specify a name for the project, and select OK.
-
In Visual Studio, select File > New > Project or use the keyboard shortcut Ctrl+Shift+N. The Create a new project screen opens, where you can search and browse templates across different languages.
-
To view Python templates, search for python. Search is a great way to find a template when you can’t remember its location in the languages tree.
Python web support in Visual Studio includes several project templates, such as web applications in the Bottle, Flask, and Django frameworks. When you install Python with the Visual Studio Installer, select Python Web Support under Optional to install these templates. For this tutorial, start with an empty project.
-
Select the Python Application template, and select Next.
-
On the Configure your new project screen, specify a name and file location for the project, and then select Create.
After a few moments, your new project opens in Visual Studio:
Here’s what you see:
- (1) The Visual Studio Solution Explorer window shows the project structure.
- (2) The default code file opens in the editor.
- (3) The Properties window shows more information for the item selected in Solution Explorer, including its exact location on disk.
The case for Visual Studio
Visual Studio (current version Visual Studio 2022, which is 64-bit) is Microsoft’s premier IDE for Windows and macOS. (However, note that Microsoft is retiring Visual Studio for Mac by August 31, 2024.) With Visual Studio, you can develop, analyze, debug, test, collaborate on, and deploy your software.
On Windows, Visual Studio 2022 has 17 workloads, which are consistent tool and component installation bundles for different development targets. Workloads are an important improvement to the Visual Studio installation process, because a full download and installation of Visual Studio 2022 can easily take hours and fill a disk, especially an SSD.
Visual Studio 2022 supports 17 different workloads, representing different development targets.
Visual Studio 2022 for Mac has a less complicated installer than the Windows version, mostly because it doesn’t support as many targets. It allows you to develop for web, mobile, and desktop with .NET, with Unity, Azure, and Docker support included by default. The .NET Core, Android, iOS, and macOS targets are optional; the latter three use Xamarin.
Visual Studio for Mac Installer. Note that there are only four optional targets, versus the 17 workloads offered in Visual Studio for Windows.
Visual Studio 2022 comes in three SKUs: Community (free, not supported for enterprise use), Professional ($1,199 first year/$799 renewal), and Enterprise ($5,999 first year/$2,569 renewal). The Enterprise Edition has features for architects, advanced debugging, and testing that the other two SKUs lack.
Visual Studio 2022 editing UI. Note the menu items for test and analysis, functions absent from Visual Studio Code.
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
Install Python support in Visual Studio
Python support is available only on Visual Studio for Windows. On Mac and Linux, Python support is available through Visual Studio Code.
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.
Questions and answers
Q. Is Python support available with Visual Studio for Mac?
A. Visual Studio for Mac isn’t currently supported. For more information, see What’s happening to Visual Studio for Mac? Visual Studio Code on Windows, Mac, and Linux works well with Python through available extensions.
Q. What can I use to build UI with Python?
A. The main offering in this area is the Qt Project with bindings for Python known as PySide (the official binding) (also see PySide downloads) and PyQt. Python support in Visual Studio doesn’t include any specific tools for UI development.
Q. Can a Python project produce a stand-alone executable?
A. Python is generally an interpreted language, where code is run on demand in a suitable Python-capable environment such as Visual Studio and web servers. Visual Studio doesn’t currently provide the means to create a stand-alone executable, which essentially means a program with an embedded Python interpreter. However, the Python community offers different means to create executables as described on StackOverflow. CPython also supports being embedded within a native application, as described on the blog post, Using CPython’s embeddable zip file.
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.
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.
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.
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.
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
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.
Keywords searched by users: visual studio and python
Categories: Tìm thấy 17 Visual Studio And Python
See more here: kientrucannam.vn
See more: https://kientrucannam.vn/vn/