改了字体仍不生效,关键在于未勾选“使用全局字体”和“使用全局字体大小”两项开关:前者位于Settings → Style Configurator → Global Styles → Default Style,后者在Settings → Language Format Settings右侧,二者缺一不可。

为什么改了字体还是没生效?两个关键勾选项漏不得
不是所有字体设置都能立刻起效,核心卡点在两个必须手动勾选的开关:使用全局字体 和 使用全局字体大小。前者在 Settings → Style Configurator → Global Styles → Default Style 里,后者在 Settings → Language Format Settings 右侧。只调字体、不勾这两项,Python 文件用 Consolas,JSON 还是 Courier New,新建文档甚至可能退回默认小字号。
常见错误现象:调完字体点保存关闭,重启后打开 .py 文件仍是 10px 小字;或者中英文混排时中文发虚、英文清晰——大概率是只勾了其中一个。
-
使用全局字体不勾 → 各语言继承各自旧样式(比如 Python 的 keyword 字体不变) -
使用全局字体大小不勾 → 字号只影响Normal text,其他语言无视 - 两个都勾 → 所有语言统一应用你设的字体+字号,这才是“全局”该有的样子
Consolas 和 Fira Code 怎么选?连字支持得看版本
Consolas 是 Windows 原生最稳的选择:无需安装、ClearType 渲染锐利、0 和 O、1 和 l 区分度高。Fira Code 的优势在于编程连字(!= 显示为 ≠,=> 显示为 ⇒),但 Notepad++ 直到 v8.5 才开始支持连字渲染,且必须在 Style Configurator 中勾选 启用连字(该选项仅在字体支持 ligatures 且版本 ≥8.5 时可见)。
如果你用的是 v8.4 或更早版本,装了 Fira Code 也看不到连字,只会当普通等宽字体用;v8.9.7 当前最新版已完整支持,但注意:连字开启后,部分老旧插件(如 TextFX)可能渲染异常,建议先在小文件试用。
- Fira Code 需额外下载 Nerd Font 补丁版才能显示完整符号(如 、),否则中文引号、括号可能缺失
- Consolas 在高 DPI 屏上若出现轻微发虚,可进 Windows 设置 → 显示 → “修复应用模糊问题”,勾选 Notepad++
- 别用系统自带的
Courier New写代码——字符间距松散、标点糊成团,尤其{和}边缘难辨
中文注释糊、断笔、方块?先查编码,再配字体
中文显示异常 90% 不是字体没装好,而是编码识别失败或字体名填错。Notepad++ 不会根据你选的字体反推编码,它靠 BOM 或手动指定来判断文本内容。状态栏右下角显示的 ANSI 或 UTF-8 仅作参考,不可信。
正确排查顺序:编码 → 转为 UTF-8(强制统一),再确认字体名是否与系统注册表一致。Windows 字体列表里显示 “Microsoft YaHei”,你就必须输 Microsoft YaHei,输 “微软雅黑” 或 “MS YaHei” 都会静默回退到 Courier New,且无任何报错提示。
- 推荐组合:
Consolas(英文/符号) +YaHei Consolas Hybrid(中英混排专用,需单独下载安装) - 如果只用系统自带字体:
NSimSun在 11–12px 下比 Microsoft YaHei 更少重叠错位,但英文偏窄 - 行号边栏字体建议单独设为
Microsoft YaHei14px,避免中文行号截断
手改 stylers.xml 时最容易踩的硬坑
直接编辑 stylers.xml 能绕过 UI 限制做精细控制(比如让 Python 的 async 关键字变荧光绿),但它对格式极其敏感。改错一行,整个语法高亮可能全灭,打开文件只剩黑白。
三个致命细节:fgColor 和 bgColor 必须是 6 位十六进制(如 FF5733),不能带 #,也不能写 rgb(255,87,51);每个 WordsStyle 节点必须有 name 属性,且值必须是 Notepad++ 内部识别的样式名(如 KEYWORD、COMMENT),拼错或大小写不对就无效;fontStyle 是位掩码,1 = 粗体,2 = 斜体,3 = 粗体+斜体,写成 bold 或 true 直接忽略。
- 修改前务必备份原
stylers.xml,否则恢复只能重装 - 改完必须重启 Notepad++,已打开文件需
File → Reload from disk才刷新 - v8.6+ 版本中
styleID="33"是折叠标记色,旧版可能是别的用途,别盲目套用网上老教程的 ID
Global Styles 里的全局开关开了、stylers.xml 里每个 name 拼对了、中文字体名和文件编码对上了——这些地方一错,再好看的配色方案也出不来。


















