Visual Studio Code 中的 Python
使用 Microsoft Python 扩展 在 Visual Studio Code 中使用 Python,简单、有趣且高效。该扩展使 VS Code 成为出色的 Python 编辑器,并且可以在任何操作系统上使用各种 Python 解释器。它利用 VS Code 的所有强大功能,提供自动补全和 IntelliSense、代码检查、调试和单元测试,还可以轻松地在 Python 环境(包括虚拟环境和 conda 环境)之间切换。
本文仅概述了 VS Code Python 扩展的不同功能。有关编辑、运行和调试代码的详细步骤,请使用下面的按钮。
安装 Python 和 Python 扩展
教程 将指导您安装 Python 和使用扩展。您必须单独安装 Python 解释器,与扩展分开。为了快速安装,请从 python.org 下载 Python,并从 VS Code Marketplace 安装扩展。
注意:为了帮助您开始 Python 开发,您可以使用包含有用扩展、设置和 Python 代码片段的Python 配置文件模板。
安装 Python 后,使用 Python: Select Interpreter 命令选择它。如果 VS Code 没有自动找到您要查找的解释器,请参阅环境 - 手动指定解释器。
您可以通过设置配置 Python 扩展。在Python 设置参考中了解更多信息。
Windows Subsystem for Linux:如果您使用的是 Windows,WSL 是进行 Python 开发的好方法。您可以在 Windows 上运行 Linux 发行版,并且通常已经安装了 Python。结合 WSL 扩展,您可以在 WSL 环境中获得完整的 VS Code 编辑和调试支持。要了解更多信息,请转到在 WSL 中开发或尝试在 WSL 中工作教程。
运行 Python 代码
要体验 Python,请创建一个名为 hello.py
的文件(使用文件资源管理器),并粘贴以下代码:
print("Hello World")
Python 扩展提供使用当前选定解释器运行 Python 代码的快捷方式(命令面板中的 Python: Select Interpreter)。要运行活动的 Python 文件,请单击编辑器右上角的 Run Python File 播放按钮。
您还可以使用 Python: Run Selection/Line in Python Terminal 命令 (Shift+Enter) 运行单个行或选定的代码块。如果没有选中任何内容,智能发送功能将在 (Shift+Enter) 时将光标所在行周围最小的可运行代码块发送到 Python 终端。编辑器中选中代码块的上下文菜单上也有一个相同的 Run Python > Run Selection/Line in Python Terminal 命令。每次您在终端/REPL 中运行选定内容或行时,都会使用同一个终端,直到该终端关闭。Run Python File in Terminal 也使用同一个终端。如果该终端仍在运行 REPL,您应该在运行 Python 文件之前退出 REPL (exit()
) 或切换到不同的终端。
Python 扩展会根据选定内容中的第一个非空行自动移除缩进,并根据需要将其余行向左移动。
必要时,该命令会打开 Python 终端;您也可以使用 Python: Start Terminal REPL 命令直接打开交互式 REPL 环境,该命令会使用当前选定的解释器激活一个终端,然后运行 Python REPL。
有关更详细的步骤和其他运行代码的方式,请参阅运行代码教程。
自动补全和 IntelliSense
Python 扩展支持使用当前选定的解释器进行代码补全和 IntelliSense。IntelliSense 是许多功能的通用术语,包括跨所有文件以及内置和第三方模块的智能代码补全(上下文相关的 方法和变量建议)。
IntelliSense 会在您输入时快速显示方法、类成员和文档。您还可以随时使用 ⌃Space(Windows、Linux Ctrl+Space) 触发补全。将鼠标悬停在标识符上会显示有关它们的更多信息。
使用 AI 增强补全
GitHub Copilot 是一款由 AI 提供支持的代码补全工具,可帮助您更快、更智能地编写代码。您可以在 VS Code 中使用 GitHub Copilot 扩展来生成代码,或从其生成的代码中学习。
GitHub Copilot 为 Python 以外的语言和各种框架提供建议,包括 JavaScript、TypeScript、Ruby、Go、C# 和 C++。
您可以在 Copilot 文档中了解有关如何开始使用 Copilot 的更多信息。
代码检查
代码检查会分析您的 Python 代码中潜在的错误,使您可以轻松导航到并更正不同的问题。
Python 扩展可以使用多种不同的代码检查工具,包括 Pylint、pycodestyle、Flake8、mypy、pydocstyle、prospector 和 pylama。请参阅代码检查。
调试
再也不用 print
语句调试了!VS Code 通过 Python 调试器扩展为 Python 提供了出色的调试支持,让您可以设置断点、检查变量并使用调试控制台深入了解程序如何一步步执行。可以调试多种不同类型的 Python 应用程序,包括多线程、Web 和远程应用程序。
有关 Python 调试的更具体信息,例如配置 launch.json
设置和实现远程调试,请参阅调试。一般的 VS Code 调试信息可在调试文档中找到。
此外,Django 和 Flask 教程提供了如何在 Web 应用程序环境中实现调试的示例,包括调试 Django 模板。
环境
Python 扩展会自动检测安装在标准位置的 Python 解释器。它还会检测工作区文件夹中的 conda 环境和虚拟环境。请参阅配置 Python 环境。
当前环境显示在 VS Code 状态栏的右侧
状态栏还显示是否未选择解释器
选定的环境用于 IntelliSense、自动补全、代码检查、格式化以及任何其他与语言相关的功能。当您在终端中运行或调试 Python,或者使用 Terminal: Create New Terminal 命令创建新终端时,该环境也会被激活。
要更改当前解释器,包括切换到 conda 或虚拟环境,请在状态栏上选择解释器名称或使用 Python: Select Interpreter 命令。
VS Code 会提示您一个包含检测到的环境以及您手动添加到用户设置中的任何环境的列表(请参阅配置 Python 环境)。
Jupyter Notebook
要在 VS Code 中启用对 Jupyter notebook 文件 (.ipynb
) 的 Python 支持,您可以安装 Jupyter 扩展。Python 和 Jupyter 扩展协同工作,为您在 VS Code 中提供出色的 Notebook 体验,让您可以直接查看和修改带有 IntelliSense 支持的代码单元格,并运行和调试它们。
您还可以通过 Jupyter: Export to Python Script 命令将 Notebook 转换为 Python 代码文件并打开。Notebook 中的单元格在 Python 文件中用 #%%
注释分隔,Jupyter 扩展会显示 Run Cell 或 Run Below CodeLens。选择任何一个 CodeLens 都会启动 Jupyter 服务器并在 Python 交互式窗口中运行单元格。
您还可以连接到远程 Jupyter 服务器来运行您的 Notebook。有关更多信息,请参阅Jupyter 支持。
测试
Python 扩展支持使用 Python 内置的 unittest 框架和 pytest 进行测试。
为了运行测试,您必须在项目设置中启用其中一个受支持的测试框架。每个框架都有自己的特定设置,例如用于识别测试发现路径和模式的参数。
检测到测试后,VS Code 提供各种命令(在状态栏、命令面板和其他地方)来运行和调试测试。这些命令还允许您运行单个测试文件和方法。
配置
Python 扩展为其各种功能提供了各种设置。这些设置在其相关主题中进行了描述,例如编辑代码、代码检查、调试和测试。完整列表可在设置参考中找到。
Python 配置文件模板
配置文件允许您根据当前项目或任务快速切换扩展、设置和 UI 布局。为了帮助您开始 Python 开发,您可以使用 Python 配置文件模板,这是一个精选的配置文件,包含有用的扩展、设置和代码片段。您可以按原样使用该配置文件模板,或将其作为起点,根据自己的工作流程进一步自定义。
您可以通过 Profiles > Create Profile... 下拉菜单选择配置文件模板。
选择配置文件模板后,您可以查看设置和扩展,如果不想将其包含在新配置文件中,可以移除单个项目。基于模板创建新配置文件后,对设置、扩展或 UI 所做的更改将保留在您的配置文件中。
其他热门 Python 扩展
Microsoft Python 扩展提供了本文前面描述的所有功能。通过安装其他热门 Python 扩展,可以为 VS Code 添加更多 Python 语言支持。
- 打开 Extensions 视图(⇧⌘X(Windows、Linux Ctrl+Shift+X))。
- 输入 'python' 过滤扩展列表。
上面显示的扩展是动态查询的。单击上面的扩展磁贴以阅读说明和评论,从而决定哪个扩展最适合您。在Marketplace 中查看更多信息。