前言
本文介绍在 VS Code 中使用 Python 进行开发的配置流程,涉及软件/工具:
- Python 3
- VS Code(版本:1.79.1)
- VS Code Python extension(Microsoft Python)
安装 Python 插件
在 VS Code 中使用 Python,需要使用 Microsoft Python 插件。该插件提供了以下功能:
- 自动补全和智能感知
- 检测、调试和单元测试
- 在 Python 环境(包括虚拟环境和 conda 环境)之间轻松切换
在 VS Code 中安装插件非常简单,打开 VS Code,选择'扩展',在'扩展:商店'的搜索栏中输入'Python',选择相应的插件,点击'安装'。
安装完成插件之后,通常需要重启 VS Code,以启用安装的插件。
重启 VS Code 之后,打开命令面板(⇧⌘P),键入'Python',可以看到命令面板出现了一些下拉选项,说明插件安装成功。
使用 Python 的常规流程
Step 1:在工作区文件夹中启动 VS Code
通过在文件夹中启动 VS Code,该文件夹将成为'工作区'。
使用命令提示符或终端,创建一个名为 hello 的空文件夹,导航到该文件夹,然后通过输入以下命令打开该文件夹 ( . ) 中的 VS Code ( code ):
mkdir hello
cd hello
code .
Notes: 使用
code命令前请确保已经将 VS Code 的可执行路径添加到环境变量当中!
Step 2:创建虚拟环境
Python 开发者的最佳实践是使用特定于项目的 virtual environment 。一旦激活该环境,安装的任何软件包都将与其他环境(包括全局解释器环境)隔离,从而减少因软件包版本冲突而可能引起的许多复杂情况。
可以使用 Venv 或 Conda 和 Python 在 VS Code 中创建非全局环境。
打开命令面板 ( ⇧⌘P ),开始键入 Python: Create Environment 命令进行搜索,然后选择该命令。该命令显示环境类型列表,Venv 或 Conda。
下面将以 Conda 为例,展示创建虚拟环境的过程,Venv 与 Conda 的过程基本一样:
对于显示环境类型列表,Venv 或 Conda,选择 Conda。
然后该命令会显示可用于项目的解释器列表,选择需要的解释器。
选择解释器后,将显示一条通知,显示环境创建的进度。
并且环境文件夹 ( /.conda ) 将出现在工作区中。
Step 3:创建 Python 源文件
从文件资源管理器工具栏中,选择 hello 文件夹上的新建文件按钮。
将文件命名为 hello.py ,VS Code 会自动在编辑器中打开它。
通过使用 .py 文件扩展名,告诉 VS Code 将此文件解释为 Python 程序,以便它使用 Python 扩展名和选定的解释器评估内容。
Notes:文件资源管理器工具栏还允许在工作区中创建文件夹以更好地组织代码。可以使用新建文件夹按钮快速创建文件夹。
下面简单以一个 demo 举例,现在工作区中有一个代码文件,在 hello.py 中输入以下源代码:
msg = "Roll a dice"
print(msg)
当开始输入 print 时,请注意 IntelliSense 如何显示'自动补全(Auto-completion)'选项。
IntelliSense 和'自动补全'适用于:
- 标准 Python 模块
- 安装到所选 Python 解释器环境中的其他包
- 对象类型上可用的方法
例如,由于 msg 变量包含字符串,因此当您键入 msg. 时,IntelliSense 会提供字符串方法。
最后,保存文件 ( ⌘S )。此时,就已准备好在 VS Code 中运行第一个 Python 文件。
Step 4:运行 hello.py
单击编辑器右上角的 Run Python File in Terminal 运行按钮。
该按钮会打开一个终端面板,其中会自动激活 Python 解释器,然后运行 python3 hello.py (macOS/Linux) 或 python hello.py (Windows)。
还可以通过其他三种方式在 VS Code 中运行 Python 代码:
- 右键单击编辑器窗口中的任意位置,然后选择 Run > Python File in Terminal(这会自动保存文件)
- 选择一行或多行,然后按
Shift+Enter或右键单击并选择 在 Python 终端中运行选择/行。该命令对于仅测试文件的一部分非常方便 - 从命令面板 (
⇧⌘P) 中,选择 Python: Start REPL 命令为当前选择的 Python 解释器打开 REPL 终端。在 REPL 中,您可以一次输入并运行一行代码
Step 5:配置并运行调试器
下面让我们尝试调试我们的 Hello World 程序。
首先,通过将光标放在 print 调用上并按 F9,在 hello.py 的第 2 行设置断点。或者,单击编辑器左侧的行号旁边的装订线。设置断点时,装订线中会出现一个红色圆圈。
接下来,要初始化调试器,请按 F5。由于这是第一次调试此文件,配置菜单将从命令面板打开,允许为打开的文件选择想要的调试配置类型。
Notes:VS Code 的所有各种配置都使用 JSON 文件,launch.json 是包含调试配置的文件的标准名称。
选择 Python File,这是使用当前选择的 Python 解释器运行编辑器中显示的当前文件的配置。
通过单击编辑器上运行按钮旁边的向下箭头并在终端中选择调试 Python 文件来启动调试器。
调试器将在文件断点的第一行停止。当前行在左边距中用黄色箭头指示。如果此时检查局部变量窗口,将看到现在已定义的 msg 变量出现在局部窗格中。
调试工具栏出现在顶部,从左到右有以下命令:继续 (F5)、跳过 (F10)、进入 (F11)、退出 (⇧F11)、重新启动 (⇧⌘F5) 和停止 (⇧F5)。
状态栏也会改变颜色(在许多主题中为橙色)以指示您处于调试模式。Python 调试控制台也会自动出现在右下面板中,以显示正在运行的命令以及程序输出。要继续运行程序,请选择调试工具栏 (F5) 上的继续命令。调试器将程序运行到最后。
Tips:还可以通过将鼠标悬停在代码上来查看调试信息,例如:变量
msg,将鼠标悬停在变量上将在变量上方的框中显示字符串Roll a dice!
还可以在调试控制台中使用变量(如果没有看到它,请在 VS Code 的右下方区域选择调试控制台,或者从 … 菜单中选择它)然后尝试在控制台底部的 > 提示符处输入以下行:
msg
msg.capitalize()
msg.split()
再次选择工具栏上的蓝色继续按钮(或按 F5)以运行程序直至完成。如果切换回 Python 调试控制台,Roll a dice! 会出现在 Python 调试控制台中,一旦程序完成,VS Code 就会退出调试模式。
Step 6:安装和使用包
在 Python 中,包是获取任意数量的有用代码库(通常来自 PyPI)的方式,这些代码库为程序提供附加功能。比如:使用 numpy 包来生成随机数。
返回资源管理器视图(左侧最上面的图标,显示文件),打开 hello.py ,然后粘贴以下源代码,并运行调试该文件:
import numpy as np
msg = "Roll a dice"
print(msg)
print(np.random.randint(1,9))
这时应该看到消息'ModuleNotFoundError: No module named 'numpy''。此消息表明所需的包在当前解释器中不可用。
要安装 numpy 包,请停止调试器并使用命令面板运行终端:创建新终端 (⌃⇧),并在打开的终端中通过 conda` 命令安装相应的包:
conda install numpy
安装完成后,再运行程序,发现成功输出随机数!
Python 调试
通过对调试配置文件进行修改,可以实现对调试过程中某些行为进行个性化的设置。
初始化配置
配置文件通常会直接决定 VS Code 在调试会话期间的行为。
有关调试的配置在 launch.json 文件中进行定义,该文件通常储存在工作区的 .vscode 文件夹中。
Notes:要更改调试配置,代码必须存储在一个文件夹中!
要初始化调试配置,首先选择侧栏中的'运行和调试 (⇧⌘D)'视图。
如果当前尚未定义任何配置,将看到一个用于运行和调试的按钮以及一个用于创建配置 (launch.json) 文件的链接。
要使用 Python 配置生成 launch.json 文件,需要执行以下步骤:
- 选择 create a launch.json file 的链接(如上图所示),或者打开命令面板(
⇧⌘P),键入'Debug: Add Configuration',选择并回车 - 配置菜单将从命令面板中打开,允许为打开的文件选择所需的调试配置类型。现在,在出现的'Select a debug configuration'菜单中,选择'Python File'
Notes:在不存在配置的情况下,通过调试面板、F5 或 运行 > 开始调试 启动调试会话也会显示调试配置菜单,但不会创建 launch.json 文件(就是前一节中,


