Visual Studio Code 中的 Python
在 Visual Studio Code 中使用 Python,使用 Microsoft Python 扩展,既简单、有趣又高效。该扩展使 VS Code 成为出色的 Python 编辑器,并且可以在具有各种 Python 解释器的任何操作系统上运行。它利用 VS Code 的所有功能来提供自动完成和 IntelliSense、linting、调试和单元测试,以及轻松切换 Python 环境(包括虚拟环境和 conda 环境)的功能。
本文仅概述了 VS Code 的 Python 扩展的不同功能。有关编辑、运行和调试代码的演练,请使用下面的按钮。
安装 Python 和 Python 扩展
教程指导您完成安装 Python 和使用扩展的过程。您必须自行安装 Python 解释器,与扩展分开。为了快速安装,请使用 python.org 上的 Python 并从 VS Code Marketplace 安装扩展。
注意:为了帮助您开始 Python 开发,您可以使用Python 配置文件模板,其中包含有用的扩展、设置和 Python 代码片段。
安装 Python 版本后,使用 Python: 选择解释器 命令选择它。如果 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 代码的快捷方式(命令面板中的Python: 选择解释器)。要运行活动的 Python 文件,请单击编辑器右上角的运行 Python 文件播放按钮。
您还可以使用 Python: 在 Python 终端中运行选定内容/行 命令 (Shift+Enter) 运行单行或选定的代码。如果没有选定内容,智能发送会将光标所在行周围的最小可运行代码块发送到 Python 终端 (Shift+Enter)。在编辑器的选定内容的上下文菜单上,有一个相同的 运行 Python > 在 Python 终端中运行选定内容/行 命令可用。每次在终端/REPL 中运行选定内容或行时,都将使用同一终端,直到该终端关闭。同一终端也用于在终端中运行 Python 文件。如果该终端仍在运行 REPL,您应该退出 REPL (exit()
) 或切换到不同的终端,然后再运行 Python 文件。
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 的更多信息。
Linting
Linting 分析您的 Python 代码中潜在的错误,使您可以轻松导航到并纠正不同的问题。
Python 扩展可以应用许多不同的 linters,包括 Pylint、pycodestyle、Flake8、mypy、pydocstyle、prospector 和 pylama。请参阅Linting。
调试
不再需要 print
语句调试!VS Code 通过Python 调试器扩展为 Python 提供出色的调试支持,使您可以设置断点、检查变量以及使用调试控制台深入了解程序如何逐步执行。调试多种不同类型的 Python 应用程序,包括多线程、Web 和远程应用程序。
有关 Python 调试的更多具体信息,例如配置 launch.json
设置和实施远程调试,请参阅调试。常规 VS Code 调试信息可以在调试文档中找到。
此外,Django 和 Flask 教程提供了如何在 Web 应用程序的上下文中实施调试的示例,包括调试 Django 模板。
环境
Python 扩展会自动检测安装在标准位置的 Python 解释器。它还会检测工作区文件夹中的 conda 环境以及虚拟环境。请参阅配置 Python 环境。
当前环境显示在 VS Code 状态栏的右侧
状态栏还指示是否未选择解释器
选定的环境用于 IntelliSense、自动完成、linting、格式化和任何其他与语言相关的功能。当您在终端中运行或调试 Python,或者当您使用 终端:创建新终端 命令创建新终端时,也会激活它。
要更改当前解释器,包括切换到 conda 或虚拟环境,请选择状态栏上的解释器名称或使用 Python: 选择解释器 命令。
VS Code 会提示您显示检测到的环境列表,以及您手动添加到用户设置中的任何环境(请参阅配置 Python 环境)。
Jupyter Notebook
要在 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 扩展为其各种功能提供了各种设置。这些设置在其相关主题中进行了描述,例如编辑代码、Linting、调试和测试。完整的列表可以在设置参考中找到。
Python 配置文件模板
配置文件使您可以根据当前项目或任务快速切换您的扩展、设置和 UI 布局。为了帮助您开始 Python 开发,您可以使用Python 配置文件模板,这是一个包含有用的扩展、设置和代码片段的精选配置文件。您可以按原样使用配置文件模板,也可以将其用作起点,以便为您自己的工作流程进一步自定义。
您可以通过 配置文件 > 创建配置文件... 下拉列表选择配置文件模板
选择配置文件模板后,您可以查看设置和扩展,并删除您不想包含在新配置文件中的单个项目。根据模板创建新配置文件后,对设置、扩展或 UI 所做的更改将保留在您的配置文件中。
其他常用的 Python 扩展
Microsoft Python 扩展提供了本文前面描述的所有功能。可以通过安装其他常用的 Python 扩展,将额外的 Python 语言支持添加到 VS Code。
- 打开 扩展 视图 (⇧⌘X (Windows、Linux Ctrl+Shift+X))。
- 通过键入“python”来筛选扩展列表。
上面显示的扩展是动态查询的。单击上面的扩展磁贴以阅读描述和评论,以决定哪个扩展最适合您。在Marketplace中查看更多信息。