难度:⭐ | 预计阅读:10 分钟 | 前置:[006 Windows 安装 Python] | 下一篇:[011 PyCharm 入门]
1. 你为什么要看这篇?
装好了 Python,你可以在终端里一行一行地敲代码——但写真正的项目需要一个编辑器。VS Code 是目前全球最流行的代码编辑器(Stack Overflow 2024 开发者调查:73% 的专业开发者首选),它对 Python 的支持在免费工具中是最好的。
这一篇的目标:15 分钟内把你的 VS Code 配成一台专业级 Python 开发环境——代码补全、一键运行、断点调试、自动格式化全部就位。
2. VS Code 的 Python 能力全景
#mermaid-svg-VkZrf8mwyybwhqKZ{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:30px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-VkZrf8mwyybwhqKZ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-VkZrf8mwyybwhqKZ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-VkZrf8mwyybwhqKZ .error-icon{fill:hsl(220.5882352941, 100%, 98.3333333333%);}#mermaid-svg-VkZrf8mwyybwhqKZ .error-text{fill:rgb(8.5000000002, 5.7500000001, 0);stroke:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-VkZrf8mwyybwhqKZ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-VkZrf8mwyybwhqKZ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-VkZrf8mwyybwhqKZ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-VkZrf8mwyybwhqKZ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-VkZrf8mwyybwhqKZ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-VkZrf8mwyybwhqKZ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-VkZrf8mwyybwhqKZ .marker{fill:#0b0b0b;stroke:#0b0b0b;}#mermaid-svg-VkZrf8mwyybwhqKZ .marker.cross{stroke:#0b0b0b;}#mermaid-svg-VkZrf8mwyybwhqKZ svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:30px;}#mermaid-svg-VkZrf8mwyybwhqKZ p{margin:0;}#mermaid-svg-VkZrf8mwyybwhqKZ .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-VkZrf8mwyybwhqKZ .cluster-label text{fill:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-VkZrf8mwyybwhqKZ .cluster-label span{color:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-VkZrf8mwyybwhqKZ .cluster-label span p{background-color:transparent;}#mermaid-svg-VkZrf8mwyybwhqKZ .label text,#mermaid-svg-VkZrf8mwyybwhqKZ span{fill:#333;color:#333;}#mermaid-svg-VkZrf8mwyybwhqKZ .node rect,#mermaid-svg-VkZrf8mwyybwhqKZ .node circle,#mermaid-svg-VkZrf8mwyybwhqKZ .node ellipse,#mermaid-svg-VkZrf8mwyybwhqKZ .node polygon,#mermaid-svg-VkZrf8mwyybwhqKZ .node path{fill:#fff4dd;stroke:hsl(40.5882352941, 60%, 83.3333333333%);stroke-width:1px;}#mermaid-svg-VkZrf8mwyybwhqKZ .rough-node .label text,#mermaid-svg-VkZrf8mwyybwhqKZ .node .label text,#mermaid-svg-VkZrf8mwyybwhqKZ .image-shape .label,#mermaid-svg-VkZrf8mwyybwhqKZ .icon-shape .label{text-anchor:middle;}#mermaid-svg-VkZrf8mwyybwhqKZ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-VkZrf8mwyybwhqKZ .rough-node .label,#mermaid-svg-VkZrf8mwyybwhqKZ .node .label,#mermaid-svg-VkZrf8mwyybwhqKZ .image-shape .label,#mermaid-svg-VkZrf8mwyybwhqKZ .icon-shape .label{text-align:center;}#mermaid-svg-VkZrf8mwyybwhqKZ .node.clickable{cursor:pointer;}#mermaid-svg-VkZrf8mwyybwhqKZ .root .anchor path{fill:#0b0b0b!important;stroke-width:0;stroke:#0b0b0b;}#mermaid-svg-VkZrf8mwyybwhqKZ .arrowheadPath{fill:#0b0b0b;}#mermaid-svg-VkZrf8mwyybwhqKZ .edgePath .path{stroke:#0b0b0b;stroke-width:2.0px;}#mermaid-svg-VkZrf8mwyybwhqKZ .flowchart-link{stroke:#0b0b0b;fill:none;}#mermaid-svg-VkZrf8mwyybwhqKZ .edgeLabel{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);text-align:center;}#mermaid-svg-VkZrf8mwyybwhqKZ .edgeLabel p{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);}#mermaid-svg-VkZrf8mwyybwhqKZ .edgeLabel rect{opacity:0.5;background-color:hsl(-79.4117647059, 100%, 93.3333333333%);fill:hsl(-79.4117647059, 100%, 93.3333333333%);}#mermaid-svg-VkZrf8mwyybwhqKZ .labelBkg{background-color:rgba(243.9999999999, 220.9999999998, 255, 0.5);}#mermaid-svg-VkZrf8mwyybwhqKZ .cluster rect{fill:hsl(220.5882352941, 100%, 98.3333333333%);stroke:hsl(220.5882352941, 60%, 88.3333333333%);stroke-width:1px;}#mermaid-svg-VkZrf8mwyybwhqKZ .cluster text{fill:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-VkZrf8mwyybwhqKZ .cluster span{color:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-VkZrf8mwyybwhqKZ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(220.5882352941, 100%, 98.3333333333%);border:1px solid hsl(220.5882352941, 60%, 88.3333333333%);border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-VkZrf8mwyybwhqKZ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-VkZrf8mwyybwhqKZ rect.text{fill:none;stroke-width:0;}#mermaid-svg-VkZrf8mwyybwhqKZ .icon-shape,#mermaid-svg-VkZrf8mwyybwhqKZ .image-shape{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);text-align:center;}#mermaid-svg-VkZrf8mwyybwhqKZ .icon-shape p,#mermaid-svg-VkZrf8mwyybwhqKZ .image-shape p{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);padding:2px;}#mermaid-svg-VkZrf8mwyybwhqKZ .icon-shape .label rect,#mermaid-svg-VkZrf8mwyybwhqKZ .image-shape .label rect{opacity:0.5;background-color:hsl(-79.4117647059, 100%, 93.3333333333%);fill:hsl(-79.4117647059, 100%, 93.3333333333%);}#mermaid-svg-VkZrf8mwyybwhqKZ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-VkZrf8mwyybwhqKZ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-VkZrf8mwyybwhqKZ :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
VS Code
Python 扩展 必装
错误提示 Pylance
断点调试
自动格式化
测试运行
集成终端
推荐扩展
Jupyter 扩展
GitLens
Error Lens
图 2-1:VS Code Python 开发环境能力全景。 红色 = VS Code 本体,蓝色 = 核心 Python 扩展(必装),绿色 = 推荐扩展(锦上添花)。
3. 第一步:安装 VS Code
3.1 下载与安装
访问 code.visualstudio.com → 点击大蓝色按钮下载。Windows/Mac/Linux 安装流程均为 GUI 引导,一路默认即可。
Windows 用户特别注意:安装到最后一步时,勾选这两项:
| “Add ‘Open with Code’ action to Windows Explorer file context menu” | 右键任意文件夹 → “通过 Code 打开” |
| “Add ‘Open with Code’ action to Windows Explorer directory context menu” | 右键任意文件 → “通过 Code 打开” |
这两项勾了之后,你在任何项目文件夹上右键就能直接进入 VS Code,是效率分水岭。
3.2 安装后第一件事:登录同步
打开 VS Code → 左下角齿轮图标 → “Turn on Settings Sync” → 用 GitHub 或 Microsoft 账号登录。作用:你的扩展、快捷键、主题、设置会跨设备自动同步。换电脑重装 VS Code 后,登录即恢复。
4. 第二步:装 Python 扩展(核心)
#mermaid-svg-JtL0hO3vB3iQMVeu{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:30px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-JtL0hO3vB3iQMVeu .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-JtL0hO3vB3iQMVeu .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-JtL0hO3vB3iQMVeu .error-icon{fill:hsl(220.5882352941, 100%, 98.3333333333%);}#mermaid-svg-JtL0hO3vB3iQMVeu .error-text{fill:rgb(8.5000000002, 5.7500000001, 0);stroke:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-JtL0hO3vB3iQMVeu .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-JtL0hO3vB3iQMVeu .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-JtL0hO3vB3iQMVeu .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-JtL0hO3vB3iQMVeu .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-JtL0hO3vB3iQMVeu .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-JtL0hO3vB3iQMVeu .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-JtL0hO3vB3iQMVeu .marker{fill:#0b0b0b;stroke:#0b0b0b;}#mermaid-svg-JtL0hO3vB3iQMVeu .marker.cross{stroke:#0b0b0b;}#mermaid-svg-JtL0hO3vB3iQMVeu svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:30px;}#mermaid-svg-JtL0hO3vB3iQMVeu p{margin:0;}#mermaid-svg-JtL0hO3vB3iQMVeu .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-JtL0hO3vB3iQMVeu .cluster-label text{fill:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-JtL0hO3vB3iQMVeu .cluster-label span{color:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-JtL0hO3vB3iQMVeu .cluster-label span p{background-color:transparent;}#mermaid-svg-JtL0hO3vB3iQMVeu .label text,#mermaid-svg-JtL0hO3vB3iQMVeu span{fill:#333;color:#333;}#mermaid-svg-JtL0hO3vB3iQMVeu .node rect,#mermaid-svg-JtL0hO3vB3iQMVeu .node circle,#mermaid-svg-JtL0hO3vB3iQMVeu .node ellipse,#mermaid-svg-JtL0hO3vB3iQMVeu .node polygon,#mermaid-svg-JtL0hO3vB3iQMVeu .node path{fill:#fff4dd;stroke:hsl(40.5882352941, 60%, 83.3333333333%);stroke-width:1px;}#mermaid-svg-JtL0hO3vB3iQMVeu .rough-node .label text,#mermaid-svg-JtL0hO3vB3iQMVeu .node .label text,#mermaid-svg-JtL0hO3vB3iQMVeu .image-shape .label,#mermaid-svg-JtL0hO3vB3iQMVeu .icon-shape .label{text-anchor:middle;}#mermaid-svg-JtL0hO3vB3iQMVeu .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-JtL0hO3vB3iQMVeu .rough-node .label,#mermaid-svg-JtL0hO3vB3iQMVeu .node .label,#mermaid-svg-JtL0hO3vB3iQMVeu .image-shape .label,#mermaid-svg-JtL0hO3vB3iQMVeu .icon-shape .label{text-align:center;}#mermaid-svg-JtL0hO3vB3iQMVeu .node.clickable{cursor:pointer;}#mermaid-svg-JtL0hO3vB3iQMVeu .root .anchor path{fill:#0b0b0b!important;stroke-width:0;stroke:#0b0b0b;}#mermaid-svg-JtL0hO3vB3iQMVeu .arrowheadPath{fill:#0b0b0b;}#mermaid-svg-JtL0hO3vB3iQMVeu .edgePath .path{stroke:#0b0b0b;stroke-width:2.0px;}#mermaid-svg-JtL0hO3vB3iQMVeu .flowchart-link{stroke:#0b0b0b;fill:none;}#mermaid-svg-JtL0hO3vB3iQMVeu .edgeLabel{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);text-align:center;}#mermaid-svg-JtL0hO3vB3iQMVeu .edgeLabel p{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);}#mermaid-svg-JtL0hO3vB3iQMVeu .edgeLabel rect{opacity:0.5;background-color:hsl(-79.4117647059, 100%, 93.3333333333%);fill:hsl(-79.4117647059, 100%, 93.3333333333%);}#mermaid-svg-JtL0hO3vB3iQMVeu .labelBkg{background-color:rgba(243.9999999999, 220.9999999998, 255, 0.5);}#mermaid-svg-JtL0hO3vB3iQMVeu .cluster rect{fill:hsl(220.5882352941, 100%, 98.3333333333%);stroke:hsl(220.5882352941, 60%, 88.3333333333%);stroke-width:1px;}#mermaid-svg-JtL0hO3vB3iQMVeu .cluster text{fill:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-JtL0hO3vB3iQMVeu .cluster span{color:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-JtL0hO3vB3iQMVeu div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(220.5882352941, 100%, 98.3333333333%);border:1px solid hsl(220.5882352941, 60%, 88.3333333333%);border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-JtL0hO3vB3iQMVeu .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-JtL0hO3vB3iQMVeu rect.text{fill:none;stroke-width:0;}#mermaid-svg-JtL0hO3vB3iQMVeu .icon-shape,#mermaid-svg-JtL0hO3vB3iQMVeu .image-shape{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);text-align:center;}#mermaid-svg-JtL0hO3vB3iQMVeu .icon-shape p,#mermaid-svg-JtL0hO3vB3iQMVeu .image-shape p{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);padding:2px;}#mermaid-svg-JtL0hO3vB3iQMVeu .icon-shape .label rect,#mermaid-svg-JtL0hO3vB3iQMVeu .image-shape .label rect{opacity:0.5;background-color:hsl(-79.4117647059, 100%, 93.3333333333%);fill:hsl(-79.4117647059, 100%, 93.3333333333%);}#mermaid-svg-JtL0hO3vB3iQMVeu .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-JtL0hO3vB3iQMVeu .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-JtL0hO3vB3iQMVeu :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
Ctrl+Shift+X 打开扩展面板
搜索 'Python'
安装 Microsoft 官方的 Python 扩展
Pylance 语言服务器自动安装
验证:新建 .py 文件 右下角显示 Python 版本
图 4-1:Python 扩展安装流程。 红色 = 操作起点,橙色 = 搜索与安装,绿色 = 自动联动安装,紫色 = 验证完成。
安装完成后,VS Code 右下角状态栏会显示当前选中的 Python 解释器版本(如 3.12.7 64-bit)。点击它可以切换解释器——这是后续多版本管理最常用的入口。
Python 扩展实际提供了什么?
| IntelliSense | 输入 对象. 自动弹出可用方法和属性 | 自动触发 |
| Pylance 类型检查 | a: int = "hello" 下面出现红色波浪线 | 自动触发 |
| 错误提示 | 语法错误在保存时自动标出 | Ctrl+S |
| 自动导入 | 输入 datetime → 弹窗提示"自动导入?" | 自动触发 |
| 函数签名提示 | 输入 print( 显示参数列表 | 自动触发 |
5. 第三步:配置 Python 解释器
VS Code 需要知道你用的是哪个 Python。如果系统里有多个 Python(Windows 上的 Store 版 + 官方版,Mac 上的系统版 + Homebrew 版),这一步至关重要。
# 在 VS Code 中按 Ctrl+Shift+P → 输入 "Python: Select Interpreter"
# 从列表中选择你安装的 Python 3.12
# 推荐选择:
# Windows: C:\\Python312\\python.exe
# Mac: /usr/local/bin/python3.12 (Homebrew)
# Linux: /usr/bin/python3.12 (apt)
选择后,VS Code 会在项目根目录生成 .vscode/settings.json,其中记录了 Python 路径。这个文件可以加入 Git,让团队中所有人都用统一的解释器。
6. 第四步:搞定三个日常高频操作
6.1 运行 Python 文件
三种方式,推荐第一种:
| 右上角播放按钮 ▶ | 打开 .py 文件 → 点击右上角三角形 | 日常开发 |
| Ctrl+F5 | 直接运行当前文件(不调试) | 快捷键习惯 |
| 终端运行 | Ctrl+→python myscript.py` | 需要传命令行参数时 |
第一次按播放按钮时,如果运行按钮不出现——确认右下角状态栏已显示 Python 解释器版本(说明 Python 扩展已激活)。
6.2 断点调试
这是 VS Code 胜过简单编辑器的核心功能:
# 假设你在调试这段代码
def calculate_discount(price, rate):
return price * (1 – rate) # ← 在这里设断点
prices = [100, 200, 300]
for p in prices:
result = calculate_discount(p, 0.1)
print(result)
操作步骤:
#mermaid-svg-z2Zkxw0o8OXR7QDM{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:30px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-z2Zkxw0o8OXR7QDM .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-z2Zkxw0o8OXR7QDM .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-z2Zkxw0o8OXR7QDM .error-icon{fill:hsl(220.5882352941, 100%, 98.3333333333%);}#mermaid-svg-z2Zkxw0o8OXR7QDM .error-text{fill:rgb(8.5000000002, 5.7500000001, 0);stroke:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-z2Zkxw0o8OXR7QDM .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-z2Zkxw0o8OXR7QDM .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-z2Zkxw0o8OXR7QDM .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-z2Zkxw0o8OXR7QDM .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-z2Zkxw0o8OXR7QDM .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-z2Zkxw0o8OXR7QDM .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-z2Zkxw0o8OXR7QDM .marker{fill:#0b0b0b;stroke:#0b0b0b;}#mermaid-svg-z2Zkxw0o8OXR7QDM .marker.cross{stroke:#0b0b0b;}#mermaid-svg-z2Zkxw0o8OXR7QDM svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:30px;}#mermaid-svg-z2Zkxw0o8OXR7QDM p{margin:0;}#mermaid-svg-z2Zkxw0o8OXR7QDM .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-z2Zkxw0o8OXR7QDM .cluster-label text{fill:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-z2Zkxw0o8OXR7QDM .cluster-label span{color:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-z2Zkxw0o8OXR7QDM .cluster-label span p{background-color:transparent;}#mermaid-svg-z2Zkxw0o8OXR7QDM .label text,#mermaid-svg-z2Zkxw0o8OXR7QDM span{fill:#333;color:#333;}#mermaid-svg-z2Zkxw0o8OXR7QDM .node rect,#mermaid-svg-z2Zkxw0o8OXR7QDM .node circle,#mermaid-svg-z2Zkxw0o8OXR7QDM .node ellipse,#mermaid-svg-z2Zkxw0o8OXR7QDM .node polygon,#mermaid-svg-z2Zkxw0o8OXR7QDM .node path{fill:#fff4dd;stroke:hsl(40.5882352941, 60%, 83.3333333333%);stroke-width:1px;}#mermaid-svg-z2Zkxw0o8OXR7QDM .rough-node .label text,#mermaid-svg-z2Zkxw0o8OXR7QDM .node .label text,#mermaid-svg-z2Zkxw0o8OXR7QDM .image-shape .label,#mermaid-svg-z2Zkxw0o8OXR7QDM .icon-shape .label{text-anchor:middle;}#mermaid-svg-z2Zkxw0o8OXR7QDM .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-z2Zkxw0o8OXR7QDM .rough-node .label,#mermaid-svg-z2Zkxw0o8OXR7QDM .node .label,#mermaid-svg-z2Zkxw0o8OXR7QDM .image-shape .label,#mermaid-svg-z2Zkxw0o8OXR7QDM .icon-shape .label{text-align:center;}#mermaid-svg-z2Zkxw0o8OXR7QDM .node.clickable{cursor:pointer;}#mermaid-svg-z2Zkxw0o8OXR7QDM .root .anchor path{fill:#0b0b0b!important;stroke-width:0;stroke:#0b0b0b;}#mermaid-svg-z2Zkxw0o8OXR7QDM .arrowheadPath{fill:#0b0b0b;}#mermaid-svg-z2Zkxw0o8OXR7QDM .edgePath .path{stroke:#0b0b0b;stroke-width:2.0px;}#mermaid-svg-z2Zkxw0o8OXR7QDM .flowchart-link{stroke:#0b0b0b;fill:none;}#mermaid-svg-z2Zkxw0o8OXR7QDM .edgeLabel{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);text-align:center;}#mermaid-svg-z2Zkxw0o8OXR7QDM .edgeLabel p{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);}#mermaid-svg-z2Zkxw0o8OXR7QDM .edgeLabel rect{opacity:0.5;background-color:hsl(-79.4117647059, 100%, 93.3333333333%);fill:hsl(-79.4117647059, 100%, 93.3333333333%);}#mermaid-svg-z2Zkxw0o8OXR7QDM .labelBkg{background-color:rgba(243.9999999999, 220.9999999998, 255, 0.5);}#mermaid-svg-z2Zkxw0o8OXR7QDM .cluster rect{fill:hsl(220.5882352941, 100%, 98.3333333333%);stroke:hsl(220.5882352941, 60%, 88.3333333333%);stroke-width:1px;}#mermaid-svg-z2Zkxw0o8OXR7QDM .cluster text{fill:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-z2Zkxw0o8OXR7QDM .cluster span{color:rgb(8.5000000002, 5.7500000001, 0);}#mermaid-svg-z2Zkxw0o8OXR7QDM div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(220.5882352941, 100%, 98.3333333333%);border:1px solid hsl(220.5882352941, 60%, 88.3333333333%);border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-z2Zkxw0o8OXR7QDM .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-z2Zkxw0o8OXR7QDM rect.text{fill:none;stroke-width:0;}#mermaid-svg-z2Zkxw0o8OXR7QDM .icon-shape,#mermaid-svg-z2Zkxw0o8OXR7QDM .image-shape{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);text-align:center;}#mermaid-svg-z2Zkxw0o8OXR7QDM .icon-shape p,#mermaid-svg-z2Zkxw0o8OXR7QDM .image-shape p{background-color:hsl(-79.4117647059, 100%, 93.3333333333%);padding:2px;}#mermaid-svg-z2Zkxw0o8OXR7QDM .icon-shape .label rect,#mermaid-svg-z2Zkxw0o8OXR7QDM .image-shape .label rect{opacity:0.5;background-color:hsl(-79.4117647059, 100%, 93.3333333333%);fill:hsl(-79.4117647059, 100%, 93.3333333333%);}#mermaid-svg-z2Zkxw0o8OXR7QDM .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-z2Zkxw0o8OXR7QDM .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-z2Zkxw0o8OXR7QDM :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
F5 启动调试
停在红点处
查看变量值
F10 单步执行
F5 继续运行
图 6-1:VS Code 调试循环。 红色 = 启动与停止,蓝色 = 核心调试操作,绿色 = 观察变量的循环。重点:调试的核心价值不是"找到报错",而是观察程序执行过程中变量的动态变化——这在 print 调试中不可见。
6.3 自动格式化(让你的代码符合 PEP 8)
# 1. 安装 Black 格式化工具(在终端中执行一次)
python -m pip install black
# 2. VS Code 设置:Ctrl+Shift+P → "Preferences: Open User Settings (JSON)"
# 3. 添加以下配置
{
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
}
}
配置完成后,每次保存(Ctrl+S)都会自动把代码格式化为 PEP 8 标准。比如你写了 x=1+2*3,保存后自动变成 x = 1 + 2 * 3——不需要手动调整空格。
7. 三个锦上添花的推荐扩展
| Error Lens | 把报错信息直接显示在代码行末尾 | 不用鼠标悬停才能看到错误——一行红色高亮直接告诉你 NameError: name 'x' is not defined |
| Jupyter | 在 VS Code 中运行 .ipynb 笔记本 | 交互式数据分析场景的标配 |
| GitLens | 代码行旁边显示最后修改者和时间 | 团队协作时立刻知道"这行代码是谁写的、什么时候改的" |
安装方式:Ctrl+Shift+X → 搜索名称 → Install。
8. 踩坑与避坑
坑 1:右下角没有 Python 解释器信息
症状:打开了 .py 文件,但右下角状态栏是空的,代码没有任何语法高亮。
原因:Python 扩展没有正确激活。
修复:
坑 2:运行按钮(▶)不见了
症状:右上角没有运行按钮,只能终端手动运行。
原因:Python 扩展在当前文件上未激活(通常是文件还没保存为 .py,或者 Python 解释器未选择)。
修复:
坑 3:pylint 或 black 提示"未安装"
症状:VS Code 弹出黄色警告框,提示 Linter pylint is not installed。
修复:
# 在 VS Code 终端(Ctrl+`)中执行
python -m pip install pylint black
# 重启 VS Code
如果不想用 pylint:(它的检查过于严格,很多新手被它吓到)可以直接在设置中关闭:Ctrl+Shift+P → “Preferences: Open User Settings (JSON)” → 添加 "python.linting.enabled": false。本专栏后续默认使用 Pylance 的类型检查,不开 pylint。
9. 总结与自测
三个核心结论
自测题
Q1:VS Code 中调试 Python 程序时,按哪个键可以逐行执行并观察变量变化?
- A. F5
- B. F10
- C. Ctrl+S
Q2:VS Code 右下角显示 3.12.7 64-bit 是什么意思?
- A. VS Code 的版本号
- B. 当前选中的 Python 解释器版本
- C. 当前打开文件的字节数
(答案见文末)
下一篇预告:[011 PyCharm 社区版安装与基础配置]——JetBrains 全家桶中的 Python IDE,适合偏好重量级工具和深度集成的开发者。
自测答案:Q1 → B(F10 = Step Over 逐行执行,F5 = 继续/启动调试) | Q2 → B(当前 Python 解释器版本)


