Visual Studio Code 中的 Python

在Visual Studio Code中使用Microsoft Python扩展,使用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 不会自动定位你要的解释器,可以参考环境——手动指定解释器

你可以通过设置配置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 终端中运行选择/行。如果没有选择,Smart Send会把最小的可运行代码块发送到Python终端的光标所在行(Shift+Enter)。在编辑器的选择菜单中,有相同的“运行 Python > 在 Python 终端中运行选择/行”命令。每次你在终端/REPL中运行选区或行路时,都会使用同一个终端,直到该终端关闭为止。同一终端也用于在终端中运行 Python 文件。如果那个终端还在运行REPL,你应该退出REPL (exit())或在运行Python文件前切换到其他终端。

Python 扩展会自动根据选中第一行非空行移除缩进,其他行则根据需要向左移动。

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

关于更具体的攻略和其他运行代码的方法,请参见运行代码教程

自动补全与IntelliSense

Python 扩展支持代码补全和使用当前选定的解释器实现 IntelliSense。IntelliSense 是一个涵盖多种功能的总称,包括智能代码补全(上下文中方法和变量建议),涵盖所有文件以及内置和第三方模块。

IntelliSense 在你输入时会快速显示方法、类成员和文档。你也可以随时用 ⌃Space 触发完成任务(Windows,Linux 的 Ctrl+Space)。将鼠标悬停在标识符上会显示更多相关信息。

Python代码的IntelliSense和自动补全

用AI提升完成

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

VS Code 市场中的 GitHub Copilot 扩展

GitHub Copilot 提供除 Python 以外的语言及多种框架建议,包括 JavaScript、TypeScript、Ruby、Go、C# 和 C++。

你可以在Copilot文档中了解更多如何开始使用Copilot的方法。

绒毛

Linting 会分析你的 Python 代码,寻找潜在错误,方便查找和纠正各种问题。

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

调试

不再如此印刷语句调试!VS Code 通过 Python Debugger 扩展提供了出色的 Python 调试支持,允许你设置断点、检查变量,并使用调试控制台深入查看程序的逐步执行情况。调试多种不同类型的 Python 应用程序,包括多线程、网页和远程应用程序。

关于Python调试的更具体信息,比如配置你的launch.json设置和实现远程调试,详见调试。通用的 VS Code 调试信息见调试文档

此外,DjangoFlask 教程还提供了如何在 Web 应用环境中实现调试的示例,包括调试 Django 模板。

环境

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

当前环境显示在VS代码状态栏右侧:

状态栏显示已选中的解释器

状态栏还显示如果没有选择解释器:

状态栏显示未选中Python解释器

所选环境用于IntelliSense、自动补全、打印、格式化及其他语言相关功能。当你在终端中运行或调试 Python 时,或者用 Terminal: Create New Terminal 命令创建新终端时,它也会被激活。

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

Python:选择解释器命令

VS Code 会提示你检测到的环境列表,以及你手动添加到用户设置中的环境(参见配置 Python 环境)。

Jupyter笔记本

为了启用 Jupyter 笔记本文件的 Python 支持(.ipynb你可以安装 Jupyter 扩展。Python 和 Jupyter 扩展协同工作,为你带来出色的笔记本 VS Code 体验,让你能够直接查看和修改支持 IntelliSense 的代码单元,并能运行和调试代码单元。

在笔记本编辑器中用VS代码运行的Jupyter笔记本

你也可以通过 Jupyter: 导出为 Python 脚本命令,将笔记本转换为并打开为 Python 代码文件。笔记本的单元格在 Python 文件中用注释分隔,Jupyter 扩展显示 Run CellRun Below CodeLens。选择任一 CodeLens 即可启动 Jupyter 服务器,并在 Python 交互窗口中运行这些单元:#%%

在VS Code和Python交互窗口中运行的Jupyter笔记本

你也可以连接到远程的Jupyter服务器来运行笔记本。更多信息请参见 Jupyter 支持

测试

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

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

一旦发现了测试,VS Code 会在状态栏、命令调色板等地方提供多种命令来运行和调试测试。这些命令还允许你运行单个测试文件和方法

配置

Python 扩展为其各种功能提供了多种设置。这些内容在相关主题上进行了描述,如代码编辑线条打印调试测试。完整列表见设置参考。

Python 配置文件模板

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

你可以通过个人资料>创建个人资料......下拉菜单选择模板:

使用个人资料模板创建个人资料下拉菜单

一旦你选择了个人资料模板,就可以查看设置和扩展,如果你不想把单个项目包含在新个人资料中,可以移除它们。根据模板创建新配置文件后,设置、扩展或界面的更改会保留在你的配置文件中。

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

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

上述扩展是动态查询的。点击上方的扩展图块,阅读描述和评价,决定哪个扩展最适合你。更多内容请见市场

下一步