集成终端字体需设terminal.integrated.fontsize(如13)和terminal.integrated.fontfamily(准确字体名),改后须关闭并重建终端;调试控制台复用editor.fontsize/editor.fontfamily;中文乱码主因是编码不匹配,须在settings.json加"terminal.integrated.env.windows": {"pythonioencoding": "utf8"},并为debug console在launch.json中单独配置相同env。

VSCode 里没有“Python 控制台”这个统一概念——print() 输出实际分属两个互不干扰的区域:集成终端(Ctrl+` 打开的那个黑底窗口)和调试控制台(F5 启动后弹出的面板),它们的字体、编码、甚至中文显示逻辑都完全不同。调错地方,改设置等于白改。
集成终端输出字体怎么调?
你按 Ctrl+` 打开的终端,它的字体完全独立于编辑器,editor.fontSize 对它无效。
-
terminal.integrated.fontSize必须设为数字(如13),填"14px"或字符串会静默失效 -
terminal.integrated.fontFamily要写系统已安装字体的**完整准确名称**:Windows 查C:\Windows\Fonts,macOS 用“字体册”看“完整名称”,Linux 运行fc-list : family;写错如"consolas"(小写)或"Consolas Regular"(带后缀)就回退成默认 - 改完必须关闭所有已打开的终端页签,再新建一个——热重载不生效
- 文字发虚、粘连?大概率是
terminal.integrated.gpuAcceleration开启导致,设为"off"再重启终端页
调试控制台(Debug Console)字体怎么调?
F5 调试时右下角那个带堆栈和变量的面板,它根本没自己的字体设置项,直接复用编辑器配置。
- 改
editor.fontSize和editor.fontFamily就行,比如设"editor.fontSize": 14 - 字体模糊或中英文不齐?检查
editor.fontFamily是否包含等宽字体并带monospace回退,例如"'JetBrains Mono', 'Fira Code', monospace" -
terminal.integrated.*配置对它完全无效,别浪费时间去碰 - 注意工作区覆盖:
.vscode/settings.json里如果写了editor.fontSize,会盖掉全局设置
中文乱码到底怎么解?
不是文件编码问题,而是 Python stdout 编码和 Windows 终端代码页(CP936)不匹配。你在终端里运行 python -c "import sys; print(sys.stdout.encoding)",大概率看到的是 cp936,不是 utf-8。
- 永久解决:在
settings.json加"terminal.integrated.env.windows": { "PYTHONIOENCODING": "utf8" }—— 注意必须小写、无横线、值是utf8,不是UTF-8或utf-8 - 加完必须关掉所有终端 tab,再新开一个才生效
- Debug Console 还乱码?得在
.vscode/launch.json的对应配置里加"env": { "PYTHONIOENCODING": "utf8" } - 用 Code Runner 插件?它不读这个配置,得进插件设置,把 Python 执行命令改成
set PYTHONIOENCODING=utf8 && python -u
想让输出进外部终端(cmd / Terminal.app)?
这不是“样式”问题,是输出目标切换,只影响运行方式,不影响字体或编码设置。
- 修改
.vscode/launch.json中对应配置的"console"字段为"externalTerminal" - 保存后 F5 运行,会自动唤起系统默认终端(Windows 是 cmd/PowerShell,macOS 是 Terminal.app 或 iTerm2)
- 此时 VSCode 自身的终端和调试控制台都不再接收输出,所有
print()都由外部终端渲染——它的字体、编码、颜色全由系统终端决定,VSCode 设置不再起作用
最常被忽略的一点:终端字体和编码配置是两套完全独立的机制,改了字体不一定能显示中文,改了 PYTHONIOENCODING 也不代表字体就能撑开中文。两者必须同时到位,且分别作用于不同面板。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











