直接修改 custom.css 是最稳妥的字体调整方法,只需编辑 ~/.jupyter/custom/custom.css,添加 .codemirror pre 和 span.cm-comment 的 font-size 规则并加 !important,保存后重启 jupyter 并强刷浏览器缓存即可生效。

直接改 custom.css 是最稳的路径
不用装主题包、不碰 Python 配置、不依赖浏览器缩放——所有改动只影响当前 Jupyter 实例,重启后立即生效。关键在于定位到正确的 CSS 选择器:.CodeMirror pre 控制代码单元格内字体,span.cm-comment 单独控制注释部分。
步骤很简单:
- 找到或新建
~/.jupyter/custom/custom.css(Windows 是C:\Users\<yourusername>\.jupyter\custom\custom.css</yourusername>) - 写入以下内容(注意:必须保留
!important,否则被 CodeMirror 内联样式覆盖):
.CodeMirror pre {
font-size: 15px !important;
}
span.cm-comment {
font-size: 14px !important;
}
保存后重启 Jupyter Notebook。如果没生效,清一下浏览器缓存(Ctrl+Shift+R 强刷),不是代码写错,大概率是缓存没更新。
jt 命令行改字体大小时 -fs 参数只影响代码区
jt -t onedork -fs 14 这类命令确实能快速调整,但要注意:-fs 只改 .CodeMirror 区域的字号,不影响 Markdown 渲染结果、输出区域(div.output_area pre)、也不动注释字体。如果你发现注释还是小得看不清,说明 -fs 没管它。
常见误操作:
- 执行
jt后没重启 Jupyter —— 必须重启,不是刷新页面 - 用了
-fs 12却抱怨“更小了”—— 默认就是 14px,设成 12 反而倒退 - 以为
-ofs(output font size)会影响代码块——它只管stdout和print()输出内容
改 codemirror.css 文件风险高,慎用
有人会去改 notebook/static/components/codemirror/lib/codemirror.css 的第 247 行,把 font-size: 14px 改掉。这看似直接,但问题明显:
- 每次升级 Jupyter 或重装环境,这个文件会被覆盖,改一次丢一次
- 不同版本的 CodeMirror 行号可能变,搜不到 247 行就容易改错位置
- 改的是全局底层样式,可能意外影响其他插件(比如 jupyterlab-lsp 的提示框)
除非你明确知道该文件在当前 Jupyter 版本中的结构,且愿意每次升级后手动补丁,否则绕开它。
注释字体单独调,别指望 -fs 或 .CodeMirror pre 顺带管它
这是最容易忽略的一点:注释(# xxx)的渲染走的是 span.cm-comment,和普通代码不在同一个 CSS 规则里。所以即使你把 .CodeMirror pre 设成 16px,注释还是默认 12px(或主题定义的值)。
要统一可读性,必须显式加:
span.cm-comment {
font-size: 14px !important;
color: #888 !important; /* 可选:顺便调个柔和点的颜色 */
}
如果用 jupyterthemes,还得去对应主题的 less 文件里加 @cm-comment-size 变量并注入到 codemirror.less,比直接写 custom.css 多三步,没必要。
真正麻烦的从来不是改哪一行,而是改完发现注释没变、输出区还是挤、或者换台电脑就失效——根源往往在作用域没锁准、缓存没清、或把不同层级的字体控制混在一起了。











