Visual Studio Code 中的 Python
在 Visual Studio Code 中通过微软 Python 扩展使用 Python 是简单、有趣且高效的。该扩展使 VS Code 成为一个出色的 Python 编辑器,并可在任何操作系统上与各种 Python 解释器配合使用。它利用了 VS Code 的所有强大功能,提供自动补全和 IntelliSense、代码检查、调试和单元测试,并且能够轻松地在包括虚拟环境和 conda 环境在内的不同 Python 环境之间切换。
本文仅概述了 VS Code 的 Python 扩展的不同功能。有关编辑、运行和调试代码的演练,请使用下面的按钮。
安装 Python 和 Python 扩展
本教程将指导您安装 Python 并使用该扩展。您必须在扩展之外自己单独安装一个 Python 解释器。要快速安装,请使用 python.org 上的 Python 并从 VS Code Marketplace 安装扩展。
注意:为了帮助您开始 Python 开发,您可以使用Python 配置文件模板,其中包含有用的扩展、设置和 Python 代码片段。
安装了某个版本的 Python 后,请使用 Python: Select Interpreter 命令来选择它。如果 VS Code 没有自动定位到您正在寻找的解释器,请参阅环境 - 手动指定解释器。
您可以通过设置来配置 Python 扩展。更多信息请参阅 Python 设置参考。
适用于 Linux 的 Windows 子系统:如果您在 Windows 上,WSL 是进行 Python 开发的好方法。您可以在 Windows 上运行 Linux 发行版,而 Python 通常已经安装好了。当与 WSL 扩展结合使用时,您可以在 WSL 的上下文中运行时获得完整的 VS Code 编辑和调试支持。要了解更多信息,请访问在 WSL 中开发或尝试在 WSL 中工作教程。
运行 Python 代码
要体验 Python,请创建一个名为 hello.py
的文件(使用文件资源管理器)并粘贴以下代码
print("Hello World")
然后,Python 扩展提供了使用当前选定解释器(在命令面板中选择 Python: Select Interpreter)运行 Python 代码的快捷方式。要运行活动的 Python 文件,请单击编辑器右上角的运行 Python 文件播放按钮。
您还可以使用 Python: 在 Python 终端中运行选中内容/行 命令 (Shift+Enter) 来运行单行或选定的代码。如果没有选中内容,智能发送 (Smart Send) 将把光标所在行周围最小的可运行代码块发送到 Python 终端(使用 Shift+Enter)。在编辑器的选中内容上下文菜单中,有一个相同的运行 Python > 在 Python 终端中运行选中内容/行命令。每次您在终端/REPL 中运行选中内容或行时,都会使用同一个终端,直到该终端关闭。在终端中运行 Python 文件也使用同一个终端。如果该终端仍在运行 REPL,您应该在运行 Python 文件之前退出 REPL (exit()
) 或切换到另一个终端。
Python 扩展会根据所选内容的第一非空行自动删除缩进,并根据需要将所有其他行向左移动。
该命令会在必要时打开 Python 终端;您也可以直接使用 Python: 启动终端 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,或使用 终端: 创建新终端 命令创建新终端时,它也会被激活。
要更改当前解释器,包括切换到 conda 或虚拟环境,请选择状态栏上的解释器名称或使用 Python: Select Interpreter 命令。
VS Code 会提示您一个已检测到的环境列表,以及您手动添加到用户设置中的任何环境(请参阅配置 Python 环境)。
Jupyter Notebooks
要在 VS Code 中启用对 Jupyter Notebook 文件 (.ipynb
) 的 Python 支持,您可以安装 Jupyter 扩展。Python 和 Jupyter 扩展协同工作,为您在 VS Code 中提供出色的 Notebook 体验,使您能够直接查看和修改带有 IntelliSense 支持的代码单元,以及运行和调试它们。
您还可以通过 Jupyter: 导出为 Python 脚本 命令将 Notebook 转换并作为 Python 代码文件打开。Notebook 的单元格在 Python 文件中用 #%%
注释分隔,Jupyter 扩展会显示 运行单元格 或 运行下方代码 的 CodeLens。选择任一 CodeLens 都会启动 Jupyter 服务器并在 Python 交互式窗口中运行该单元格(或多个单元格)。
您还可以连接到远程 Jupyter 服务器来运行您的 Notebook。更多信息,请参阅Jupyter 支持。
测试
Python 扩展支持使用 Python 内置的 unittest 框架和 pytest 进行测试。
为了运行测试,您必须在项目设置中启用一个支持的测试框架。每个框架都有其特定的设置,例如用于识别测试发现路径和模式的参数。
一旦测试被发现,VS Code 会提供多种命令(在状态栏、命令面板和其他地方)来运行和调试测试。这些命令也允许您运行单个测试文件和方法。
配置
Python 扩展为其各种功能提供了广泛的设置。这些设置在相关主题中有描述,例如编辑代码、代码检查、调试和测试。完整列表可在设置参考中找到。
Python 配置文件模板
配置文件可让您根据当前项目或任务快速切换扩展、设置和 UI 布局。为了帮助您开始 Python 开发,您可以使用Python 配置文件模板,这是一个包含有用扩展、设置和代码片段的精选配置文件。您可以直接使用该配置文件模板,也可以将其作为起点,为自己的工作流进行进一步定制。
您通过“**配置文件**”>“**创建配置文件...**”下拉菜单选择一个配置文件模板
选择一个配置文件模板后,您可以查看其设置和扩展,如果您不想在新配置文件中包含某些项目,可以单独移除它们。基于模板创建新配置文件后,对设置、扩展或 UI 所做的更改将持久保存在您的配置文件中。
其他流行的 Python 扩展
Microsoft Python 扩展提供了本文前面描述的所有功能。通过安装其他流行的 Python 扩展,可以为 VS Code 添加额外的 Python 语言支持。
- 打开扩展视图 (⇧⌘X (Windows, Linux Ctrl+Shift+X))。
- 通过输入 'python' 来筛选扩展列表。
上面显示的扩展是动态查询的。单击上面的扩展磁贴以阅读描述和评论,以决定哪个扩展最适合您。更多信息请参见Marketplace。