本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

Python 在 Visual Studio Code 中

在Visual Studio Code中使用Python,通过Microsoft Python扩展,简单、有趣且高效。该扩展使VS Code成为出色的Python编辑器,并可在任何操作系统上与各种Python解释器一起使用。它利用了VS Code的所有功能,提供自动完成和IntelliSense,代码检查,调试和单元测试,并且可以轻松切换Python环境,包括虚拟和conda环境。

本文仅概述了 VS Code 中 Python 扩展的不同功能。要了解编辑、运行和调试代码的步骤,请使用下面的按钮。

Python 教程

安装Python和Python扩展

教程引导您安装Python并使用扩展。您必须单独从扩展中安装Python解释器。要快速安装,请使用python.org 上的 Python从 VS Code 市场安装扩展

注意:为了帮助您开始 Python 开发,您可以使用 Python 代码模板,该模板包括有用的扩展、设置和 Python 代码片段。

一旦你安装了一个版本的Python,使用Python: Select Interpreter命令来选择它。如果VS Code没有自动找到你所需的解释器,请参考Environments - Manually specify an interpreter

您可以通过设置来配置Python扩展。在Python设置参考中了解更多信息。

Windows Subsystem for Linux:如果你在使用 Windows,WSL 是进行 Python 开发的绝佳方式。你可以在 Windows 上运行 Linux 发行版,并且 Python 通常已经安装好。当与WSL 扩展结合使用时,你可以在 WSL 上运行并获得完整的 VS Code 编辑和调试支持。要了解更多信息,请访问在 WSL 中开发或尝试在 WSL 中工作教程。

运行Python代码

要体验Python,请创建一个文件(使用文件资源管理器)命名为你好.py并粘贴以下代码:

打印("Hello World")

Python 扩展然后提供使用当前选择的解释器运行 Python 代码的快捷方式(Python:选择解释器 在命令面板中)。要运行当前活动的 Python 文件,请点击编辑器右上角的运行 Python 文件 播放按钮。

使用终端中的运行Python文件按钮

你也可以使用命令 Python: 在Python终端中运行选定的代码/行 来运行单独的行或代码段(Shift+Enter)。如果没有任何选择,Smart Send 将把光标所在行周围的最小可运行代码块发送到Python终端(Shift+Enter)。一个相同的 Run Python > 在Python终端中运行选定的代码/行 命令在编辑器中选择的代码段的上下文菜单上可用。每次在终端/REPL中运行选定的代码或行时,都会使用同一个终端,直到该终端被关闭。同样的终端也用于 在终端中运行Python文件。如果该终端仍在运行REPL,你应该退出REPL(退出()) 或者在运行Python文件之前切换到不同的终端。

Python扩展自动根据选择区域的第一个非空行移除缩进,并根据需要将所有其他行向左移动。

该命令在必要时会打开Python终端;你也可以直接使用Python: 启动终端REPL命令来激活当前选择的解释器并打开终端,然后运行Python REPL。

对于更具体的步骤和运行代码的其他方法,请参阅运行代码教程

自动完成和智能感知

Python扩展支持使用当前选择的解释器进行代码补全和IntelliSense。IntelliSense 是一个通用术语,包括在所有文件中以及对内置和第三方模块的智能代码补全(上下文方法和变量建议)。

IntelliSense 会随着你的输入快速显示方法、类成员和文档。你也可以随时通过⌃Space(Windows, LinuxCtrl+Space触发完成。将鼠标悬停在标识符上将显示更多关于它们的信息。

Python代码的IntelliSense和自动完成

增强AI完成度

GitHub Copilot 是一个由AI驱动的代码补全工具,帮助你更快更智能地编写代码。你可以在VS Code中使用GitHub Copilot扩展来生成代码,或者从它生成的代码中学习。

GitHub Copilot 扩展在 VS Code 市场上

GitHub Copilot为Python及各种框架(包括JavaScript、TypeScript、Ruby、Go、C#和C++)提供了代码建议。

您可以在 Copilot 文档 中了解更多关于如何开始使用 Copilot 的信息。

代码检查

Linting 分析你的 Python 代码,查找潜在的错误,使你可以轻松导航到并修正各种问题。

Python 扩展可以应用多种不同的检查器,包括 Pylint、pycodestyle、Flake8、mypy、pydocstyle、prospector 和 pylama。请参见检查

调试

没有了打印 语句调试!VS Code 通过 Python 调试器扩展 提供了出色的 Python 调试支持,允许您设置断点、检查变量,并使用调试控制台深入了解程序的逐行执行情况。调试不同类型的 Python 应用程序,包括多线程、网络和远程应用程序。

有关于在Python中调试的更具体信息,请参阅launch.json 设置和实现远程调试,请参阅 调试。VS Code 调试的总体信息可以在 调试文档 中找到。

此外,DjangoFlask教程提供了在网页应用程序上下文中实现调试的示例,包括调试Django模板。

环境

Python扩展会自动检测安装在标准位置的Python解释器。它还会检测conda环境以及工作区文件夹中的虚拟环境。请参阅配置Python环境

当前环境显示在 VS Code 状态栏的右侧:

状态栏显示所选的解释器

状态栏还表示如果未选择解释器:

状态栏显示没有选择的Python解释器

所选择的环境用于IntelliSense、自动完成、 linting、格式化和任何其他语言相关的功能。当您在终端中运行或调试Python,或使用终端:创建新终端命令创建新终端时,也会激活该环境。

要更改当前解释器,包括切换到 conda 或虚拟环境,请选择状态栏上的解释器名称或使用Python: 选择解释器命令。

Python: 选择解释器命令

VS Code 会提示您已检测到的环境列表,以及您在用户设置中手动添加的任何环境(请参阅配置 Python 环境)。

Jupyter 笔记本

启用对 Jupyter notebook 文件的 Python 支持 (.ipynb在 VS Code 中,你可以安装 Jupyter 扩展。Python 和 Jupyter 扩展共同合作,为你在 VS Code 中提供出色的 Notebook 体验,使你能够直接使用 IntelliSense 支持查看和修改代码单元格,并且可以运行和调试它们。

在 VS code 的 Notebook 编辑器中运行的 Jupyter notebook

您还可以通过 Jupyter: 导出为 Python 脚本 命令将笔记本转换并打开为 Python 代码文件。笔记本的单元格在 Python 文件中用 #%% 注释,Jupyter 扩展显示 运行单元格在下方运行 CodeLens。选择任意一个 CodeLens 会启动 Jupyter 服务器并在 Python 交互Windows中运行单元格:

Jupyter notebook 在 VS Code 和 Python 交互Windows中运行

您还可以连接到远程Jupyter服务器来运行您的笔记本。有关更多信息,请参见Jupyter支持.

测试

Python 扩展支持 使用 Python 的内置 unittest 框架和 pytest进行测试。

为了运行测试,您必须在项目的设置中启用支持的测试框架之一。每个框架都有其特定的设置,例如用于识别路径和测试发现的参数。

一旦测试被发现,VS Code 提供了各种命令(状态栏、命令面板等处)来运行和调试测试。这些命令还允许您运行单个测试文件和方法。

配置

Python扩展为其各种功能提供了多种设置。这些设置在相关的主题中描述,例如编辑代码代码检查调试,和测试。完整的列表可以在设置参考中找到。

Python 个人资料模板

配置文件 让你根据当前的项目或任务快速切换你的扩展、设置和用户界面布局。为了帮助你开始 Python 开发,你可以使用 Python 配置文件模板,这是一个经过精选的配置文件,包含有用的扩展、设置和片段。你可以直接使用配置文件模板,或者将其作为起点进一步自定义以适应你的工作流程。

您通过 配置文件 > 创建配置文件... 下拉菜单选择一个配置文件模板:

创建带有配置文件模板的配置文件下拉菜单

一旦你选择了一个配置文件模板,你就可以查看设置和扩展,如果你不希望将某些项目包含在你的新配置文件中,可以移除它们。在基于模板创建新配置文件后,对设置、扩展或用户界面所做的更改将持久化到你的配置文件中。

Microsoft Python 扩展提供了本文前面描述的所有功能。通过安装其他流行的 Python 扩展,可以为 VS Code 添加更多的 Python 语言支持。

  1. 打开扩展视图 (⇧⌘X (Windows, Linux Ctrl+Shift+X)).
  2. 通过输入“python”筛选扩展列表。

上面显示的扩展是动态查询的。点击上面的扩展卡片以阅读描述和评论,以决定哪个扩展最适合你。查看更多信息在市场

下一步